3

我有 2 个数据库表:树和叶。这显然是一对多的关系。我想在 Tree 实体中有一个 LeavesCount 字段 - 它不应该被持久化(@Transient),而且每次实体加载到上下文时也可以通过查询获得。有没有可能实现?

我知道我可以制作 @OneToMany 并获取集合的大小,但我真的对查询方法很感兴趣。

4

2 回答 2

0

您可以定义一个命名查询,并在需要时执行它。

否则,您可以使该字段持久化,并确保每次添加叶子时都对其进行更新。

于 2013-06-26T14:05:26.030 回答
0

查询用于与数据库交互。如果你将一个属性标记为@Transient,那么这个属性将不会被持久化在数据库中,那么你就不能向数据库询问这个属性。就像 JPA 不存在一样。所以你不能把你的瞬态属性放在你的查询中。TBH 我从未尝试在查询中访问瞬态属性,所以我不能 100% 确定,但无论如何你不应该这样做,因此它不应该工作。

于 2013-06-26T14:25:26.313 回答