有两张表,其中 infoCenter表中有字段conference_key关联info_conference的主键
这样在JAVA中的InfoConference类中有private Set infoCenters这个属性了
我现在要更新这个infoCenters,一开始一直没成功,后来查了文档,把设置贴出来。。。
infoConference.hbm.xml:
<set
name="infoCenters"
lazy="false"
order-by="title desc"
cascade="all"
>
<key>
<column name="conference_key" />
</key>
<one-to-many
class="com.arvato.shlib.data.InfoCenter"
/>
</set>
原来我是cascade="all"这个没有加
InfoCenter.hbm.xml:
<many-to-one
name="infoConference"
class="com.arvato.shlib.data.InfoConference"
not-null="true"
>
<column name="conference_key" />
</many-to-one>
然后在程序里面更新是这么写:
Set<InfoCenter> infoCenters = new HashSet<InfoCenter>();
if (null != infos) {
for (int i = 0; i < infos.length; i++) {
InfoCenter infoCenter = infoCenterAccessor
.getInfoCenter(infos[i]);
if (null != infoCenter) {
infoCenters.add(infoCenter);
}
}
infoConference.getInfoCenters().clear();
infoConference.setInfoCenters(infoCenters);
}else{
infoConference.setInfoCenters(null);
}
infoConferenceAccessor.saveOrUpdate(infoConference);
原来的写法是没有
infoConference.getInfoCenters().clear();/*导致从前的数据没被清理*/
分享到:
相关推荐
在Hibernate中,可以通过以下方式实现一对多映射: 1. **配置文件映射**:在Hibernate的配置文件(如`hibernate.cfg.xml`)中,声明两个实体类对应的数据库表,并设置关联关系。 2. **实体类定义**:在Java实体类中...
总结来说,这个源码例子展示了如何在Hibernate中利用注解和XML映射文件来建立和管理一对多多对一关系。在实际项目中,这种关系模型可以帮助我们更好地组织数据,简化数据库操作,提高代码的可读性和维护性。理解并...
### Hibernate知识点总结 #### 一、Hibernate概述 Hibernate是一个开源的ORM(Object Relational Mapping,对象关系映射)框架,用于Java应用与关系型数据库之间的交互。它通过使用描述对象和数据库之间映射的元...
总结,理解并熟练掌握Hibernate的一对多和多对一关联映射对于Java开发者来说是至关重要的。它不仅简化了数据库操作,也使得代码更加面向对象,易于理解和维护。在实际工作中,结合源码阅读和相关工具,我们可以更好...
【标题】:“Hibernate4的一些总结” 【描述】:这篇博客主要涵盖了Hibernate4框架在实际开发中的应用和理解,作者通过个人实践对Hibernate4的核心特性和使用技巧进行了深度解析。 【标签】:“源码”和“工具”这...
Hibernate 提供了两种批量更新机制:一级缓存(First-Level Cache)和批量抓取(Batching)。 一级缓存 Hibernate 的一级缓存是指 Session 对象中缓存的所有对象。在批量更新时,如果不及时清除一级缓存,可能会...
【Hibernate 简单 PPT 总结】 Hibernate 是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序对数据库的操作。通过提供一套API和元数据,Hibernate允许开发者将业务对象直接映射到数据库表,从而避免了...
Hibernate存储Clob字段的方式总结涉及了在Java开发中使用Hibernate操作大型文本字段Clob的操作方法。本文主要介绍了两种操作Clob字段的方法,一种是将Clob字段直接映射为String类型,另一种是使用Clob类型进行处理。...
Hibernate 支持多种关联关系,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。关联关系可以通过外键或代理键实现,配置包括懒加载(lazy loading)和级联操作(cascading...
13. **关联映射**: Hibernate支持一对一、一对多、多对一和多对多的关联映射,允许对象之间建立复杂的关联关系。 14. **事件监听器**: Hibernate允许注册事件监听器,监听对象的生命周期事件,如加载、保存、更新和...
《Hibernate4总结文档》 Hibernate4作为一款强大的Java对象关系映射框架,简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据库层面的细节。本文将深入探讨Hibernate4的配置和使用,帮助开发者更好地理解...
Hibernate 是一个基于 Java 的 ORM 框架,它提供了对数据库的操作接口。在实际开发中,我们经常需要更新数据库中的某些字段,而不是所有字段。那么,如何使用 Hibernate 实现更新某些字段呢? 首先,我们需要了解 ...
讨论了 Hibernate 如何处理一对一、一对多、多对一和多对多的关系映射,包括懒加载、级联操作和集合类型的选择。 ### 5. 查询语言(HQL)与 Criteria API Hibernate 提供了自己的查询语言 HQL,类似于 SQL 但面向...
总结起来,Hibernate中的一对多/多对一关联是通过主外键映射来实现的,通过注解和配置文件定义实体间的关联关系,利用懒加载或立即加载策略控制数据获取,同时要注意双向关联的维护和级联操作的设置,以确保数据的...
在这个" Hibernate级联操作一对多demo "中,我们将探讨如何在一对多的关系中应用级联操作。 一对多关系是数据库中常见的关系类型,它表示一个实体(如部门)可以有多个相关实体(如员工)。在Hibernate中,这种关系...
深入理解 Hibernate 一对一映射的实现原理,需要阅读 Hibernate 源码,了解其如何生成 SQL 以及如何处理关联对象的加载和更新。 **总结** Hibernate 的一对一映射是 ORM 设计中的重要部分,它使得数据访问更加便捷...
在Java的持久化框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它使得开发者可以使用面向对象的方式来操作数据库。JPA(Java Persistence API)是Java平台上的标准持久化框架,它定义了规范,而...