jpa(Java Persistence API)java持久化技术
一、persist
将实体加入到持久化上下文中,相当于保存,如果实体已经存在,就报异常。
二、merge
将实体加入到持久化上下文中,把一个对象从detach转变为managed,并返回这个对象。当一个对象设置了主键,并调用此方法,就会从数据库中根据主键查找到该对象把它放到持久化上下文中,当事物提交的时候,如果对象发生了改变,更新该对象的改变到数据库中,如果对象没有改变,则什么也不做,如果对象没有设置主键,则插入该对象到数据库中。
三、remove
将实体从持久化上下文中移除,这个对象的状态必须是managed,也就是把一个对象从managed转变为detach。同时,从数据库中删除。
四、detach
将实体从持久化上下文中移除,让实体和数据库不在同步,变成detach状态,不删除实体。
五、flush
让持久化上下文和数据库中的数据马上同步。
六、find
根据主键从数据库中查询一个实体,这个方法首先从缓存中去查找,如果找不到,就从数据库中去找,并把它加入到缓存中,找不到返回null。
七、getReference
getReference和find方法很类似,但是只是返回一个Entity的引用,不会返回其中的数据。它用于那些我们需要一个Entity对象和它的主键但不需要具体数据的情况。如例所示,当Entity找不到时,会有EntityNotFoundException抛出。
八、clear
让持久化上下文中的所有对象都变成detach状态。