【发布时间】:2011-06-30 14:20:18
【问题描述】:
我使用的是 JPA 2.0,更准确地说是 Eclipselink。这是我的问题:
我有一个具有“isPaid”之类的属性的实体。该属性是实体对其某些其他字段执行的某些计算的结果。由于这是从其他字段派生的,因此该属性没有 setter 方法。
例如,getter 是这样的:
public boolean isPaid() {
return this.totalAmount - this.amountPaid == 0;
}
这只是一个例子。问题是,我希望这个属性被计算和持久化,所以我可以做一个 jpql 查询,比如:
SELECT d FROM Debt d WHERE d.isPaid = true
这可能吗?有什么解决方法吗?
我不想检索所有实体来调用此方法,然后过滤那些返回 true 的实体。
【问题讨论】:
标签: java orm jpa properties eclipselink