JPA不提供对派生属性的任何支持,因此您必须使用提供程序特定的扩展。如您所述,
@Formula使用Hibernate时非常适合此操作。您可以使用一个SQL片段:
@Formula("PRICE*1.155")private float finalPrice;甚至是对其他表的复杂查询:
@Formula("(select min(o.creation_date) from Orders o where o.customer_id = id)")private Date firstOrderDate;当
id是
id当前实体的。
以下博客文章值得一读:Hibernate Derived Properties-Performance and
Portability。
没有更多详细信息,我无法给出更准确的答案,但是以上链接应该会有所帮助。
也可以看看:
- 第5.1.22节。列和公式元素(Hibernate Core文档)
- 第2.4.3.1节。公式(hibernate注释文档)



