我需要知道是否可以通过扩展POJO JPA实体(使用hibernate提供程序)来添加一些属性和行为,然后使entityManager返回扩展对象而不仅仅是POJO实体,就像以下示例:
POJO JPA实体类
@Entity
@Table("test")
public class Test implements Serializable {
}
扩展类
public class ExtendedTest extends Test {
...
}
获取扩展类的对象
List<ExtendedTest> extendedList = entityManager.createNamedQuery("ExtendedTest.findByFoo").setParameter("foo", "bar").getResultList();
我正在考虑的另一种可能是通过扩展功能使用复合实体并委派所有设置器和获取器,但这可能意味着在处理大表时需要大量工作:
public class ExtendedTest2 {
private Test test;
public ExtendedTest2(Test test) {
this.test = test;
}
public getFoo() {
return test.getFoo();
}
public getBar() {
return test.getBar();
}
...
}
非常感谢您的任何建议。