从ManyToMany链接的对象派生属性

时间:2016-03-14 11:34:37

标签: java hibernate jpa

我有两个实体AB具有多对多关系。实体A将枚举属性C另存为字符串。现在,我希望B拥有所有已连接C的最大A

我可以轻松编写JPA查询,但是你在哪里放置跨越两个实体的查询?我与DAO合作,一次只能与一个实体合作。我想在Java中循环中从A获取所有B,以便它在一个事务中运行,但我认为这可能导致许多选择只需要一个。

欢迎任何建议。

更新

考虑以下示例:

一家珠宝店与珠宝店有着OneToMany的关系。现在我想要一个传递属性" largestPieceSize"它反映了连接实体的max()值。尺寸属性。

1 个答案:

答案 0 :(得分:1)

循环是非常低效的解决方案,因为它不必要地从数据库中获取大量不需要的数据。

通常,编写JPQL查询,选择查询中涉及的任何实体,并将查询放入该实体的DAO类中。

由于您在此处返回B,因此在我看来,将查询放在DAO<B>中是最自然的选择。