JPA和hibernate中操作数据的方法对照

2025-04-18 04:43:41

1、保存操作:hibernate的save(Object entity) JPA的persist(Object entity)共同点:都是把漉宫肥瘠临时态对象转成了持久态。区别:提供者不一样:save方法是hibernate提供的。persist方法是JPA规范提供的。在没有事务的情况下:save会去数据库中保存,hibernate提供了一个内置的事务来执行。persist什么都不会做。

2、更新操作:hibernate的update (Object entity) JPA的merge (Object entity)Hibernate和jpa都可以利用快照机制,不调用任何方法去更新。Update方法在更新时,如果遇到一级缓存已经包含了一个相同OID的对象会报错。merge则可以执行成功。

3、删除操作:hibernate的delete (Object entity)JPA的remove (Object entity)都是删除一个实体

4、查询一个操作:hibernate的get (Class clazz,Serializable id) load(Class clazz,Seriali芰垄孕动zable id) JPA的find(Class clazz,Object id) getReerence(Class clazz,Object id)get和find都是立即加载。load和getReference一样都是延迟加载。

5、查询所有操作hibernate的Query:使用HQL语句查询JPA的Query:使用JPQL查询查询语句的形式不一样。

6、查询返回唯一结果操作:hibernate的uniqueResult()JPA的getSingleResult()查询都是返回一个唯一的结果。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢