两个类如下:
public class Item implements java.io.Serializable {
// Fields
private Long iid;
private Template template;
private Long showOrder;
................................
}
public class Template implements java.io.Serializable {
// Fields
private Long tid;
private String name;
private String gtype;
private Date createTime;
private List items = new ArrayList();
..................................
}
配置文件如下:
<hibernate-mapping>
<class name="Item" table="ITEM" >
<id name="iid" type="java.lang.Long">
<column name="IID" precision="22" scale="0" />
<generator class="increment" />
</id>
<many-to-one name="template" class="Template" fetch="select">
<column name="TID" precision="22" scale="0" />
</many-to-one>
<property name="showOrder" type="java.lang.Long">
<column name="SHOW_ORDER" precision="22" scale="0" not-null="true" />
</property>
</class>
</hibernate-mapping>
<hibernate-mapping>
<class name="Template" table="TEMPLATE">
<id name="tid" type="java.lang.Long">
<column name="TID" precision="22" scale="0" />
<generator class="increment" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="100" not-null="true" />
</property>
<property name="gtype" type="java.lang.String">
<column name="GTYPE" length="1" not-null="true" />
</property>
<property name="createTime" type="java.util.Date">
<column name="CREATE_TIME" length="7" />
</property>
<list name="items" inverse="true" cascade="all">
<key>
<column name="TID" precision="22" scale="0" not-null="true"/>
</key>
<list-index column="SHOW_ORDER"></list-index>
<one-to-many class="Item" />
</list>
</class>
</hibernate-mapping>
Template取得items属性时,list里会包含null值,不知道什么原因
分享到:
相关推荐
1. **XML配置**:在Hibernate的映射文件(.hbm.xml)中,使用`<list>`标签定义List集合映射。例如: ```xml <list name="courses" table="course_student" inverse="true"> <index column="list_index"/> </...
在上述示例中,我们首先创建了一个`Student`实例并设置了其`studentNumber`属性,然后使用`Example.create()`方法创建了`Example`对象,并调用`excludeNullValues()`方法来排除所有未设置(即值为`null`)的属性参与...
当删除对象时, Hibernate必须使用每一个字段的值来确定一条记录(在组合元素表中,没有单独的关键字段), 如果有为null的字段,这样做就不可能了。你必须作出一个选择,要么在组合元素中使用不能为空的属性,要么...
本文将针对Hibernate中的几个重要概念进行详细讲解,包括主键生成策略、get()与load()的区别以及二级缓存的使用。 首先,探讨的是Hibernate中的主键生成策略。在Hibernate中,主键的生成主要有三种方式:uuid、...
在某些情况下,我们需要在 Hibernate DAO 中执行原生 SQL 语句,这时我们可以使用 `HibernateCallback` 接口来实现该功能。 例如,我们可以使用以下代码来执行一个原生 SQL 语句: ```java public Object ...
例如,int型在Hibernate中通常映射为Integer类型,因为数据库字段可能允许为空(NULL),而Java的基本类型不能是NULL。同样,boolean型在Hibernate中映射为Boolean,double映射为Double,String映射为String,等等。...
通过在 `ApplicationContext.xml` 配置文件中定义一个 bean,我们可以将数据库连接信息(如数据源 `dataSource`)和 Hibernate 相关属性(如方言 `dialect`)注入到 SessionFactory 中。以下是一个示例配置: ```...
在Java的持久化框架Hibernate中,分页查询是常见的需求,尤其在处理大量数据时,为了提高用户体验,分页展示数据至关重要。本文将探讨Hibernate中两种主要的分页方式:`query.scroll()`和使用`query.setFirstResult...
在解除关联时,可以通过设置User的orders属性为null,然后保存User对象,让Hibernate自动处理数据库中的关系解除。 六、注意事项 在解除关联时,需要注意以下几点: 1. 数据库级约束:某些关联可能受到数据库级别的...
在本文中,我们将深入探讨如何在MyEclipse中配置并使用Hibernate进行数据库操作。Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者通过Java对象来操作数据库,避免了直接编写SQL语句的繁琐过程。 首先...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。本篇将详细探讨"Hibernate参数查询通用方法"这一主题,以及如何通过Dao层...
//该方法会立即加载/获取数据(只要调用该方法就会立即向数据库发出查询语句),该方法只在内部缓存查找数据,如果内部缓存中没有数据就直接去数据库查询,当数据库中没有要查询的数据时返回null (6).load(Class ...
在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了与数据库的交互,使得开发者可以更专注于业务逻辑而不是底层的SQL操作。本文将详细讲解如何使用Hibernate来编写通用的数据库操作代码,包括插入...
在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。在处理大数据量时,为了提高性能和用户体验,通常会采用分页查询的方式来获取数据。本文将深入探讨如何在Hibernate中进行...
根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...
在Java的持久化框架Hibernate中,`get`和`load`方法都是用于从数据库中获取对象,但它们之间存在一些重要的区别。理解这些差异对于优化应用程序的性能和避免潜在问题至关重要。 首先,让我们来深入了解一下`get`...
在Hibernate中,所有的持久化操作都需要在一个`Session`实例的控制下进行。因此,第一步是打开一个`Session`实例。 ```java Session session = sf.openSession(); ``` 这里假设`sf`是一个已经配置好的`...
在 Hibernate 3.2 版本中,这个框架已经相当成熟,提供了丰富的功能和性能优化。在这个源码包中,我们可以深入理解Hibernate的工作原理,学习如何构建自己的持久化层。 一、Hibernate架构概述 Hibernate的核心组件...
在Java开发领域,尤其在企业级应用开发中,Hibernate框架因其强大的对象关系映射(ORM)能力而受到广泛欢迎。泛型Hibernate是利用Java泛型特性对Hibernate进行封装的一种方式,目的是为了提供更简洁、灵活且易于维护...