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

hibernate实体hbm的配置中,可否把一个查询的结果绑定为一个实体的属性

阅读更多
有个问题,hibernate实体hbm的配置问题:
可否把一个查询的结果绑定为一个实体的属性。
例如:
<class name="test" table="test">
<id name="id"><generator class="native"/></id>
<property name="field1" type="string"/>
<property name="field2" type="string"/>

<!-- 想根据field1,field2这两个值查询一个结果集,绑定到本对象的一个list集合上,行吗?-->
<list name="mySearchLit">
<!-- some query like:select * from test2 a where a.field1=field1 and a.field2=field2  -->
<l i st>
</class>

分享到:
评论
2 楼 songxh2 2007-08-28  
命名查询与对象集合绑定可以解决此问题:
<class name="Organization" lazy="true">
    <id name="id" unsaved-value="0">
        <generator class="increment"/>
    </id>
    <property name="name" not-null="true"/>
    <set name="employments"
        lazy="true"
        inverse="true">
        <key column="employer"/> 
        <one-to-many class="Employment"/>
        <loader query-ref="organizationEmployments"/>
    </set>
    <loader query-ref="organization"/>
</class>


<sql-query name="organizationEmployments">
    <return alias="empcol" collection="Organization.employments"/>
    <return alias="emp" class="Employment"/>
    SELECT {empcol.*},
        EMPLOYER AS {emp.employer}, EMPLOYEE AS {emp.employee},
        STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},
        REGIONCODE as {emp.regionCode}, ID AS {emp.id}
    FROM EMPLOYMENT empcol
    WHERE EMPLOYER = :id AND DELETED_DATETIME IS NULL
</sql-query>
1 楼 songxh2 2007-08-27  
一般情况下在实体外边做这个查询当然非常简单。但是我有特殊地方需要在实体内部做这个绑定list

为什么要绑定呢?
这样做关系,相互包含的时候不会死循环导致堆栈溢出吗?

因为需要根据实体属性来查询结果集,所以在实体上绑定这个查询用起来会方便些。

相关推荐

    hibernate.hbm2ddl.auto属性详解

    详解hibernate.hbm2ddl.atuo 属性的配置

    Hibernate-tools解决hbm.xml中文注释乱码和生成实体类注释

    在Java的持久层框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它极大地简化了数据库操作。然而,在实际开发过程中,我们可能会遇到一些问题,比如在处理`hbm.xml`文件中的中文注释时出现乱码,或者...

    hibernate.hbm.xml详解

    例如,以下配置表示一个名为`User`的类,其主键`id`由数据库自动生成(`native`策略),且有一个`username`属性: ```xml ``` 开发人员可以通过查阅`hibernate-mapping-3.0.dtd`文档来获取更详细的属性...

    利用Middlegen Hibernate3生成hbm.xml配置和java类

    标题中的“利用Middlegen Hibernate3生成hbm.xml配置和java类”指的是使用Middlegen工具来自动化创建Hibernate3框架所需的映射文件(hbm.xml)和对应的Java实体类。这个过程是数据库对象到Java对象(O/R Mapping)的...

    hibernate3 配置hbm2ddl和hbm2java所需jar

    在Java的持久化框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它允许开发者将数据库操作转化为对Java对象的操作,极大地简化了数据库编程。在Hibernate3版本中,有两个重要的工具,即hbm2ddl和hbm2...

    hibernate。hbm.xml配置详解

    Hibernate 是一个流行的 Java 平台上的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库。在 Hibernate 中,`hbm.xml` 文件是用于定义对象与数据库表之间映射的元数据文件。这篇文档将深入解析...

    根据实体类自动生成hibernate的hbm.xml映射文件

    请输入包的名称和映射文件需要放到的文件夹之后运行CreateTableXml里的main方法,就可以自动生成映射文件了。记着刷新文件夹,要不然是看不到的。...当然只是一些基础的属性。对于一些比较复杂,还是需要自己来修改的。

    生成hibernate实体类

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的方式,从而提高开发效率。本话题主要围绕如何根据数据库中的表生成Hibernate实体类进行展开。 首先,...

    在myeclipse中根据表结构生成实体和hbm.xml文件

    在 MyEclipse 中,我们可以使用 Hibernate 根据现有的数据库表结构生成实体和 hbm.xml 配置文件,这样可以避免手动编写 JPA 或 Hibernate 实体类。下面是生成实体和 hbm.xml 文件的步骤: 首先,需要创建一个 JPA ...

    Hibernate映射关系配置:XML方式和注解方式

    1. **@Entity**:这个注解标记一个Java类为Hibernate实体,对应的数据库表名可以通过`@Table(name="table_name")`指定。 2. **@Id**:标识实体类的主键,可以通过`@GeneratedValue(strategy=GenerationType.IDENTITY...

    Oracle自动生成hibernate实体(.java 和.hbm.xml文件)存储过程

    每个实体类对应一个`.hbm.xml`文件,其中包含了类名、属性名、字段类型、主键信息以及关联关系等配置。这些信息让Hibernate能够理解如何在数据库和Java对象之间进行自动的映射和转换。 例如,对于一个名为`User`的...

    hibernate实体映射文件字段设置默认值

    在Hibernate框架中,实体映射文件(通常为`.hbm.xml`)用于定义Java对象与数据库表之间的映射关系。这其中包括了属性到数据库表列的映射、主键生成策略、以及一些高级特性如延迟加载等。在某些情况下,我们可能希望...

    java根据实体类生成Hibernate映射文件

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,而无需关心底层SQL语句。映射文件是Hibernate中的关键元素,它定义了Java实体类与数据库表之间的...

    Hibernate关联关系hbm.xml中的相关属性

    在Hibernate中,关联关系是对象关系映射(ORM)的核心组成部分,它允许我们将数据库的表结构映射到Java对象,并管理这些...在hbm.xml文件中正确地配置这些标签和属性,可以使Hibernate更高效、更灵活地管理对象关系。

    hbm.xml文件中的name名字与实体类中不符合

    hbm.xml文件中的name名字与实体类中不符合.

    使用Hibernate逆向生成实体类的方法(注解和hbm.xml映射文件)

    - 在MyEclipse中新建一个Java项目,并勾选“Hibernate”插件; - 注意不要创建SessionFactory类,避免不必要的复杂性。 3. **创建存储实体的包**: - 创建一个新的Java包,用于存放后续自动生成的实体类文件。 ...

    Hibernate实体映射

    例如,`@Entity`注解标识一个类为Hibernate实体,`@Table`指定对应的数据库表名,`@Id`标记主键字段,`@GeneratedValue`定义主键生成策略等。此外,`@Column`用于指定列名和类型,`@ManyToOne`、`@OneToMany`、`@...

    根据数据库表生成实体、hibernate配置文件和实体映射文件

    在IT行业中,数据库是存储和管理数据的核心工具,而Hibernate是一个流行的关系型对象-关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。本教程将深入讲解如何根据数据库表自动生成实体类、Hibernate配置...

    Hibernate调用配置文件中的sql语句

    2. **创建SQL查询**:在映射文件(.hbm.xml)中,我们可以为实体类定义一个或多个`&lt;sql-query&gt;`标签来存放自定义SQL。例如: ```xml SELECT * FROM users WHERE age = {param1} ``` 在这里,`{param1}`是...

Global site tag (gtag.js) - Google Analytics