【问题标题】:I need refreshed data from query. Difference between query hints in EclipseLink我需要从查询中刷新数据。 EclipseLink 中查询提示的区别
【发布时间】:2015-11-25 21:36:26
【问题描述】:

Eclipse 链接

我正在使用

query.setHint("javax.persistence.cache.storeMode", "REFRESH");

query.setHint(QueryHints.REFRESH, HintValues.TRUE);

这两种方式有什么区别?

【问题讨论】:

  • 我在你的问题中看到的只是两行没有上下文的代码浮动。这些类从何而来?我在标准库中没有找到对它的任何引用
  • 我忘记了。我正在使用 EclipseLink 并导入 import javax.persistence.EntityManager;导入 javax.persistence.TypedQuery;导入 org.eclipse.persistence.config.HintValues;导入 org.eclipse.persistence.config.QueryHints;

    示例:
    TypedQuery<Part> query = entityManager.createNamedQuery("Part.findAll", Part.class); <br/>query.setHint("javax.persistence.cache.storeMode", "REFRESH"); <br/>List<Part> list = query.getResultList();
  • 不要评论,而是编辑你的答案

标签: java jpa eclipselink


【解决方案1】:

javax.persistence.cache.storeMode 在此处记录为 javax.persistence 属性:https://docs.oracle.com/javaee/6/tutorial/doc/gkjjj.html

虽然此处记录了 QueryHints.REFRESH:http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/q_refresh.htm

本质上它们是相同的,QueryHints.REFRESH 早于 JPA 查询提示标准。两者都会像在每个返回的实体上调用 em.refresh 一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    相关资源
    最近更新 更多