发布于 2015-11-14 15:17:16 | 288 次阅读 | 评论: 1 | 来源: PHPERZ

这里有新鲜出炉的Hibernate教程,程序狗速度看过来!

Hibernate 开源对象关系映射框架 ORM

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。


对于一对多的关联要想删除一的一端时同时把多的一端也删除掉,一般会配置级联删除

<!-- 多的一端配置 -->
<set name="children" inverse="true" cascade="delete">
    <key column="parent_id" />
    <one-to-many class="Department" />
</set>
<!-- 一的一端配置 -->
<many-to-one name="parent" class="Department" column="parent_id" />

不知为何在使用HQL删除的时候会出现不能删除数据有外键关联的错误(Hibernate版本5.0)

DELETE FROM Department d WHERE d.id = :id

而使用如下语句则会级联删除

Department d = session.load(Department.class, id);
session.delete(d);

总结:HQL不能级联删除,new的瞬时对象也不能



最新网友评论  共有(1)条评论 发布评论 返回顶部
jfiscbm 发布于2016-10-03 15:28:41
解决不了
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务