源:http://blog.sina.com.cn/s/blog_6826662b0100znlr.html
评:JPA 一统天下
public void persist(Object entity)
persist 方法可以将实例转换为 managed( 托管 ) 状态。在调用 flush() 方法或提交事物后,实例将会被插入到数据库中。
public void merge(Object entity)
merge 方法的主要作用是将用户对一个 detached 状态实体的修改进行归档,归档后将产生一个新的 managed 状态对象。
public void refresh(Object entity)
refresh 方法可以保证当前的实例与数据库中的实例的内容一致。
public void remove(Object entity)
remove 方法可以将实体转换为 removed 状态,并且在调用 flush() 方法或提交事物后删除数据库中的数据。
JPA的merge和persist比较
merge()也有persist()的作用。persist会把传进去的实体放到持久化上下文中,此时如果持久化上下文中有了这个实体,就会抛出javax.persistence.EntityExistsException,没有的话事务提交的时候把那个对象加进数据库中,如果数据库中已经存在了那个对象(那一行),就会抛出com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraint
ViolationException;而merge会在持久化上下文中生成传进去的实体的受管版本,如果已经有了受管版本,那也不会抛出异常,然后把那个受管的实体返回出来,事务提交的时候如果数据库中不存在那个对象(那一行),就把把那个受管的加进去,存在的话就替换掉原来的数据。merge是如果持久化上下文中有了受管版本,那就更新,没有就复制一份,返回受管的。
相关推荐
JPA的JPQL语法总结,大都是写数据的语法语句
JPA规范实现,用JPA来解决可移植问题
JPA核心知识总结 详解 spring JPA
总结一下关于JPA的主键生成策略,JPA是用@GeneratedValue标记来注释的。一般的我把主键生成分成两大类。第一个就是简单的单字段主键类型,一个就是复杂的复合主键类型。我们分2种情况分别讨论。 第一种单字段主键...
JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射
JPA中的常用方法.docx
Jpa.doc
本文档主要记录了一些我在项目中使用JPA时总结的一些小点,包括:配置、查询(包括动态查询+分页)、传参、基本注解等
JPA教程JPA教程JPA教程JPA教程JPA教程
Spring Data JPA数据库操作教程.zip
jpa jpa规范 jpa源码 jpa jpa规范 jpa源码
jpa的主要jar文件,开发JPA所依赖的部分jar文件,基于hibernate的jpa。
JPA操作手册,包括EJB3.0介绍和事务注释。
jpajpajpajpajpajpajpajpajpajpajpajpajpa
详细的JPA注解总结大全 ,,,,,,,
JPA
此压缩包为一个eclipse上的jpa工程,其中包含了对MySql数据库的增删该,及分页查询。本工程只在main方法运行,没有页面展示
包括TOPLink JPA,Hibernate JPA,Open Jpa,jpa批注
struts2 spring jpa操作数据库 级联数据 hibernate
JPA批注参考(主要介绍JPA中的相关注解)