您可以利用的一些选项:
- 数据库视图。创建为您执行自定义联接的视图,然后将实体映射到该视图。
- 加入公式。我设法使它们仅在多对一关联中起作用。但是,您可以使关联双向,并在
Relation
实体中应用公式。 @Subselect
。这是一种Hibernate视图,适用于您无力创建真实的数据库视图或更改db模式以更好地适合实体模型结构的情况。
此外,您始终可以为从属服务器和主服务器使用两个单独的关联:
public class Person { @oneToMany @JoinColumn(name = "slave_id"), private List<Relation> slaves; @oneToMany @JoinColumn(name = "master_id"), private List<Relation> masters; public List<Relation> getRelations() { List<Relation> result = new ArrayList<>(slaves); result.addAll(masters); return result; }}
但是,请记住,将它们全部合并到一个查询中需要在主服务器和从服务器之间使用完整的笛卡尔积。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)