具有供应商特定属性的JPA find()方法

Man*_*ish 3 java hibernate jpa

我是JPA的新手,最近开始使用它。我对JPA 2.0中引入的以下方法有疑问-

 public <T> T find(Class<T> entityClass, Object primaryKey, 
                  Map<String, Object> properties); 
Run Code Online (Sandbox Code Playgroud)

该文档说,使用供应商指定的属性按主键查找。

但是我无法理解那些特定于供应商的属性以及在什么情况下应该使用此重载的find()方法。

谁能用一个合适的例子向我解释这一点。提前致谢。

Mac*_*ski 5

你看这里,这是查询提示的列表Hibernate。对于Eclipselink您可以使用这些提示。

您可以像这样在属性映射中使用提示:

Map<String, Object> map = new HashMap<>();
map.put("org.hibernate.cacheMode", CacheMode.REFRESH);
MyClass myClass = em.find(MyClass.class, 1L, map);
Run Code Online (Sandbox Code Playgroud)