Hibernate中的删除一个已经持久化了的Entity对象
2016-06-12 22:09
423 查看
在Hibernate中,持久化了的Entity对象的状态是managed/persistent。对持久化了的Entity对象执行删除操作,则Entity对象的状态变成removed。
removed状态的Entity对象可能仍然存在于Hibernate的缓存中,也可能仍然存在于数据库中,但是Hibernate同步缓存的时候将会同时从Hibernate缓存和数据库中删除。
对于Hibernate提供的Native API,还可以对detached状态的Entity对象执行删除操作,即对于如下示例中的person对象,其状态可能是managed/persistent的,也可能是detached的。
session.delete( person );
但是,对于Hibernate提供的JPA API,只能对managed/persistent状态的Entity对象执行删除操作,示例如下。
removed状态的Entity对象可能仍然存在于Hibernate的缓存中,也可能仍然存在于数据库中,但是Hibernate同步缓存的时候将会同时从Hibernate缓存和数据库中删除。
对于Hibernate提供的Native API,还可以对detached状态的Entity对象执行删除操作,即对于如下示例中的person对象,其状态可能是managed/persistent的,也可能是detached的。
session.delete( person );
但是,对于Hibernate提供的JPA API,只能对managed/persistent状态的Entity对象执行删除操作,示例如下。
entityManager.remove( person );
相关文章推荐
- oracle数据库删除数据Delete语句和Truncate语句的使用比较
- delete from 表名与truncate table 表名区别
- drop,truncate与delete的区别
- mysql delete limit 使用方法详解
- MySQL DELETE语法使用详细解析
- ORACLE SQL-UPDATE、DELETE、INSERT优化和使用技巧分享
- sqlserver中delete、update中使用表别名和oracle的区别
- 详解SQL中drop、delete和truncate的异同
- C# Entity Framework中的IQueryable和IQueryProvider详解
- SQL Server中的XML数据进行insert、update、delete
- 浅析drop user与delete from mysql.user的区别
- SQL Server中的XML数据进行insert、update、delete操作实现代码
- MySQL中UPDATE与DELETE语句的使用教程
- 实例理解SQL中truncate和delete的区别
- C++表达式new与delete知识详解
- C++中new与delete、malloc与free应用分析
- 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较(实例说明)
- mysql 删除操作(delete+TRUNCATE)
- 使用Entity Framework(4.3.1版本)遇到的问题整理
- Linq to SQL Delete时遇到问题的解决方法