В чем разница между EntityManager (setHint) только для чтения и сеанс только для чтения? - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь загрузить некоторые объекты только для чтения, я заметил, что у меня есть несколько вариантов, например, @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();

Это одно и то же?

1 Ответ

0 голосов
/ 29 апреля 2019

то же самое: hibernate-реализация javax.persistence.TypedQuery.setHint (String, Object) (org.hibernate.jpa.spi.AbstractQueryImpl.setHint (String, Object)) косвенно вызывает 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...