`
mllongze
  • 浏览: 82687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate继承分页BUG解决方法之一

阅读更多
(转载)
今天遇到了一个大问题,hibernate的继承分页bug。只要加上分页就不查出结果为0……

有个hibernate警告:

[WARN] firstResult/maxResults specified on polymorphic query; applying in memory!

据说具体原因是hibernate本身的一个bug:参见(人家的劳动成果,不好直接粘过来,大家可以去看看)

http://blog.sina.com.cn/s/blog_4a87727d0100d8dm.html

嘿嘿,上午还愁来着呢,现在已经解决了。

主要就是要注意一下继承时配置文件hbm的配置。

比如说person类和Employee类。Employee继承person。

在java文件中就要在Employee类后面加个extends person。

在配置文件中,不在需要单独为Employee类做hbm映射文件。

<class name="Person">

        <!-- 映射标识属性 -->

        <id name="id" column="person_id">

            <!-- 使用identity的主键生成器策略 -->

            <generator class="identity"/>

        </id>

        <!-- 以下映射两个基本属性 -->

        <property name="name" length="80"/>

        <property name="gender"/>

        <!-- 使用union-subclass元素映射Person类的Employee子类 -->

        <union-subclass name="Employee" table="Employee">

            <!-- 映射Employee类的两个普通属性 -->

            <property name="title" not-null="true"/>

            <property name="salary" not-null="true"/>

            <!-- 映射Employee类与Manager类之间的N-1关联 -->

            <many-to-one name="manager" column="manager_id"/>

            <!-- 映射Employee类与Customer类之间的1-N关联 -->

            <set name="customers" inverse="true">

                <key column="employee_id"/>

                <one-to-many class="Customer"/>

            </set>

        </union-subclass>

然后你再用hibernate分页就OK啦。

值得注意的是两个红色的地方:

最好class中给出该类的全路径:如cn.rntd.entity.Employee

还有, 在参考文件中为<union-subclass name="Employee">,但是执行是可能会报'表或视图不存在'

所以还是乖乖加上子类对应的table比较好哦:

<union-subclass name="Employee" table="Employee">

分享到:
评论

相关推荐

    hibernate通用分页

    "hibernate通用分页"就是为了解决这一问题,提供一个方便、易用的分页解决方案。 分页的核心在于如何根据用户请求的数据范围(如页码和每页显示条数)来查询数据库,并返回相应的结果集。在Hibernate中,我们可以...

    Spring+Hibernate完整分页

    这样,业务逻辑层(Service层)就可以直接调用DAO的分页方法。 6. **在Controller层处理请求**:在Web层(如Struts或WebWork),控制器接收用户的分页请求,计算出起始索引,然后调用Service层的方法,将结果传递给...

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    下面是一个简化的示例代码片段,展示了如何在Struts2和Hibernate中实现分页功能: ```java // PageTool类定义 public class PageTool { private int pageNum; // 当前页码 private int pageSize; // 每页显示记录...

    hibernate实现分页

    3. **编写分页方法**:在Action类中,创建一个方法如`execute()`,在该方法内调用Hibernate的分页查询代码,然后将结果集封装到一个模型对象(如`UserPaginationModel`)中。 4. **配置Struts2的配置文件**:在`...

    struts+spring+hibernate通用分页方法

    struts+spring+hibernate通用分页方法.rar 博文链接:https://igogogo9.iteye.com/blog/97692

    hibernate分页Hibernate 分页的设计和编码

    标题与描述均提到了“Hibernate分页的设计和编码”,这表明文章主要聚焦于如何在Hibernate框架中实现数据分页功能。下面将详细解析这一主题的关键知识点。 ### Hibernate分页概念 Hibernate是Java环境下一个开放源...

    Struts+Hibernate实现分页

    在IT领域,分页是一种常见的数据展示方式,特别是在处理大量数据时,为了提高用户体验和页面加载速度,我们会将数据分成多个部分(页)进行显示。本篇将介绍如何使用Struts和Hibernate框架来实现Web应用中的分页功能...

    Hibernate中分页查询的封装。

    本文将深入探讨如何在Hibernate中进行分页查询的封装,并提供相关的源码和工具使用方法。 首先,我们需要了解Hibernate中的Criteria查询,这是实现分页查询的一种方式。Criteria API允许我们以面向对象的方式构建...

    Struts+Spring+Hibernate通用分页解决方案

    7. **文件`struts+spring+hibernate通用分页方法.doc`**:这个文档可能包含了具体的实现步骤、代码示例和注意事项,详细阐述如何将Struts、Spring和Hibernate整合起来,构建一个通用的分页功能。读者可以参考文档中...

    使用Struts + Spring + Hibernate完成分页笔记

    综上所述,通过Struts处理用户请求,Spring管理组件和事务,以及Hibernate处理数据库操作,我们可以构建出一个高效、可扩展的分页应用。在这个过程中,Eclipse作为开发环境,提供对Spring和Hibernate的支持,帮助...

    用Hibernate实现分页查询.docx

    - 首先需要创建一个`Session`对象,这是Hibernate的核心对象之一,用于执行所有的持久化操作。 2. **创建Criteria对象**: - 通过`Session`对象的`createCriteria`方法创建一个`Criteria`对象,并指定要查询的实体...

    Hibernate继承映射代码

    在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式处理数据库操作。在大型项目中,由于业务需求复杂,我们常常会使用到类的继承来组织代码结构,而Hibernate提供了对...

    hibernate 通用分页的实现

    hibernate_mysql_struts2 实现的通用分页类.欢迎指正

    struts hibernate spring 分页ssh分页

    综上所述,SSH分页是Java企业级开发中的一个重要技术,它涉及到了Struts的控制层、Hibernate的数据访问层和Spring的整合及服务层,是提升应用性能和用户体验的关键手段之一。通过熟练掌握SSH分页,开发者可以更高效...

    完整Struts2 HIBERNATE实现分页

    根据提供的标题、描述以及部分内文,我们可以梳理出...通过以上步骤,我们就可以在一个Java Web应用程序中实现Struts2与Hibernate结合的分页功能。这种方法不仅提高了开发效率,而且使得代码更加简洁、易读和易于维护。

    java+hibernate实现分页

    java+hibernate实现分页 public String execute() throws Exception { System.out.println("Page:" + page); pagePlanList = ps.findPlantByPage(page, rowsPerPage); totalPage = ps.getPlanTotalPage...

    Hibernate分页查询小结

    Hibernate分页查询小结

    hibernate 通用分页

    "hibernate 通用分页"是Hibernate框架中一个重要的实用功能,主要用于处理大数据量的查询场景,避免一次性加载过多数据导致内存压力。在这个组件中,`Pagehelp.java`、`Page.java`和`tag.tld`是实现分页的关键文件。...

    hibernate实现分页查询

    Hibernate作为Java领域内一个优秀的对象关系映射(ORM)框架,提供了强大的数据持久化服务,并且内置了分页查询的功能。本文将详细介绍如何利用Hibernate来实现分页查询。 #### 二、分页查询的基本原理 分页查询的...

    Struts2+HIBERNATE实现分页(完整讲解)

    【Struts2+Hibernate实现分页详解】 在Java Web开发中,Struts2和Hibernate是两个非常重要的框架,它们分别负责MVC模式中的控制层和持久层。Struts2提供了强大的Action类和拦截器,使得业务逻辑处理更加简洁;而...

Global site tag (gtag.js) - Google Analytics