我的Java bean有一个childCount属性.此属性未映射到数据库列.相反,它应该由数据库计算,其COUNT()函数是在我的Java bean及其子代的连接上运行的.如果这个属性可以按需计算/"懒惰"会更好,但这不是强制性的.
在最糟糕的情况下,我可以使用HQL或Criteria API设置此bean的属性,但我不愿意.
Hibernate @Formula注释可能会有所帮助,但我几乎找不到任何文档.
任何帮助非常感谢.谢谢.
我有以下两个用于构建图形的带注释的类:
@Entity
@Table(name = "Edge")
public class Edge
{
/* some code omitted for brevity */
@ManyToOne
@JoinColumn(name = "ixNodeFrom", nullable = false)
private Node _nodFrom;
@ManyToOne
@JoinColumn(name = "ixNodeTo", nullable = false)
private Node _nodTo;
/* some code omitted for brevity */
}
@Entity
@Table(name = "Node")
public class Node
{
/* some code omitted for brevity */
@OneToMany(mappedBy = "_nodTo")
private Set<Edge> _rgInbound;
@OneToMany(mappedBy = "_nodFrom")
private Set<Edge> _rgOutbound;
/* some code omitted for brevity */
}
Run Code Online (Sandbox Code Playgroud)
现在,当我建立图,我发出了两次查询或者从表获取所有行,并成立了父/子引用,为此我需要存储在的ID …