我在我的 Java ee 应用程序中使用 JPA。我有一个映射到类 A 的表 A。现在,当我查询实体(例如,通过它的 id)时,它总是返回一个不同的对象。例子:
public A getAById(int id) {
A obj = (A) em.createNamedQuery("getAById")
.setParameter("id", id).getSingleResult();
return obj;
}
public void test(){
getAById(1)==getAById(1) //is false
}
有没有办法告诉 JPA 在从数据库查询时不要总是创建新实例,而是在已经查询到现有对象时返回它?
//编辑这篇文章对我帮助很大: http ://en.wikibooks.org/wiki/Java_Persistence/Caching#Example_JPA_2.0_Cacheable_annotation