`
zhangzuoyi
  • 浏览: 85537 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate的list中出现null值的情况

阅读更多

两个类如下:

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值,不知道什么原因

分享到:
评论
2 楼 kakarot_java 2009-01-13  
具体参考 http://hi.baidu.com/kakarot%5Fjava/blog/item/26275225c8bdc36735a80f0a.html
1 楼 kakarot_java 2009-01-13  
可以在配置文件中用bag替换 list

相关推荐

    hibernate list集合映射

    1. **XML配置**:在Hibernate的映射文件(.hbm.xml)中,使用`&lt;list&gt;`标签定义List集合映射。例如: ```xml &lt;list name="courses" table="course_student" inverse="true"&gt; &lt;index column="list_index"/&gt; &lt;/...

    Hibernate中Example的用法

    在上述示例中,我们首先创建了一个`Student`实例并设置了其`studentNumber`属性,然后使用`Example.create()`方法创建了`Example`对象,并调用`excludeNullValues()`方法来排除所有未设置(即值为`null`)的属性参与...

    Hibernate中文API大全

    当删除对象时, Hibernate必须使用每一个字段的值来确定一条记录(在组合元素表中,没有单独的关键字段), 如果有为null的字段,这样做就不可能了。你必须作出一个选择,要么在组合元素中使用不能为空的属性,要么...

    hibernate难点重点笔记

    本文将针对Hibernate中的几个重要概念进行详细讲解,包括主键生成策略、get()与load()的区别以及二级缓存的使用。 首先,探讨的是Hibernate中的主键生成策略。在Hibernate中,主键的生成主要有三种方式:uuid、...

    hibernate执行原生sql语句

    在某些情况下,我们需要在 Hibernate DAO 中执行原生 SQL 语句,这时我们可以使用 `HibernateCallback` 接口来实现该功能。 例如,我们可以使用以下代码来执行一个原生 SQL 语句: ```java public Object ...

    JAVA数据类型与Hibernate的类型映射

    例如,int型在Hibernate中通常映射为Integer类型,因为数据库字段可能允许为空(NULL),而Java的基本类型不能是NULL。同样,boolean型在Hibernate中映射为Boolean,double映射为Double,String映射为String,等等。...

    spring与hibernate的整合

    通过在 `ApplicationContext.xml` 配置文件中定义一个 bean,我们可以将数据库连接信息(如数据源 `dataSource`)和 Hibernate 相关属性(如方言 `dialect`)注入到 SessionFactory 中。以下是一个示例配置: ```...

    Hibernate中的query 分页.doc

    在Java的持久化框架Hibernate中,分页查询是常见的需求,尤其在处理大量数据时,为了提高用户体验,分页展示数据至关重要。本文将探讨Hibernate中两种主要的分页方式:`query.scroll()`和使用`query.setFirstResult...

    Hibernate 关联关系解除

    在解除关联时,可以通过设置User的orders属性为null,然后保存User对象,让Hibernate自动处理数据库中的关系解除。 六、注意事项 在解除关联时,需要注意以下几点: 1. 数据库级约束:某些关联可能受到数据库级别的...

    hibernate操作

    在本文中,我们将深入探讨如何在MyEclipse中配置并使用Hibernate进行数据库操作。Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者通过Java对象来操作数据库,避免了直接编写SQL语句的繁琐过程。 首先...

    Hibernate 参数查询通用方法

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。本篇将详细探讨"Hibernate参数查询通用方法"这一主题,以及如何通过Dao层...

    hibernate操作数据库笔记

    //该方法会立即加载/获取数据(只要调用该方法就会立即向数据库发出查询语句),该方法只在内部缓存查找数据,如果内部缓存中没有数据就直接去数据库查询,当数据库中没有要查询的数据时返回null (6).load(Class ...

    hibernate数据库通用SQL代码

    在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了与数据库的交互,使得开发者可以更专注于业务逻辑而不是底层的SQL操作。本文将详细讲解如何使用Hibernate来编写通用的数据库操作代码,包括插入...

    Hibernate中分页查询的封装。

    在Java开发中,Hibernate作为一款流行的ORM(对象关系映射)框架,极大地简化了数据库操作。在处理大数据量时,为了提高性能和用户体验,通常会采用分页查询的方式来获取数据。本文将深入探讨如何在Hibernate中进行...

    HQL是hibernate自己的一套查询

    根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...

    Hibernate的get和load方法的区别

    在Java的持久化框架Hibernate中,`get`和`load`方法都是用于从数据库中获取对象,但它们之间存在一些重要的区别。理解这些差异对于优化应用程序的性能和避免潜在问题至关重要。 首先,让我们来深入了解一下`get`...

    hibernate实现分页查询

    在Hibernate中,所有的持久化操作都需要在一个`Session`实例的控制下进行。因此,第一步是打开一个`Session`实例。 ```java Session session = sf.openSession(); ``` 这里假设`sf`是一个已经配置好的`...

    hibernate-3.2 源码

    在 Hibernate 3.2 版本中,这个框架已经相当成熟,提供了丰富的功能和性能优化。在这个源码包中,我们可以深入理解Hibernate的工作原理,学习如何构建自己的持久化层。 一、Hibernate架构概述 Hibernate的核心组件...

    Spring/泛型Hibernate的实现

    在Java开发领域,尤其在企业级应用开发中,Hibernate框架因其强大的对象关系映射(ORM)能力而受到广泛欢迎。泛型Hibernate是利用Java泛型特性对Hibernate进行封装的一种方式,目的是为了提供更简洁、灵活且易于维护...

Global site tag (gtag.js) - Google Analytics