Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 什么';EntityManager(setHint)只读和会话只读的区别是什么?_Hibernate_Jpa - Fatal编程技术网

Hibernate 什么';EntityManager(setHint)只读和会话只读的区别是什么?

Hibernate 什么';EntityManager(setHint)只读和会话只读的区别是什么?,hibernate,jpa,Hibernate,Jpa,我试图以只读方式加载一些实体,我注意到我有一些选项可以这样做,比如@Immutable,在查询中也是只读的 我的主要问题是setHint和 getEntityManager().createQuery("SELECT p FROM Post p").setHint(QueryHints.READ_ONLY, true).getResultList(); 和setReadOnly: Query query = session.createQuery("SELECT p FROM

我试图以只读方式加载一些实体,我注意到我有一些选项可以这样做,比如@Immutable,在查询中也是只读的

我的主要问题是setHint和

    getEntityManager().createQuery("SELECT p FROM Post p").setHint(QueryHints.READ_ONLY, true).getResultList();
和setReadOnly:

    Query query = session.createQuery("SELECT p FROM Post p");
    query.setReadOnly(true);
    query.list();
他们是同一件事吗?

同一件事: javax.persistence.TypedQuery.setHint(String,Object)(org.hibernate.jpa.spi.AbstractQueryImpl.setHint(String,Object))的hibernate实现正在间接调用org.hibernate.Query.setReadOnly(布尔值):

org.hibernate.Query.setReadOnly(boolean)
called by org.hibernate.jpa.internal.QueryImplapplyReadOnlyHint(boolean)
called by org.hibernate.jpa.spi.BaseQueryImplsetHint(String, Object)
called by org.hibernate.jpa.spi.AbstractQueryImpl.setHint(String, Object)