繁体   English   中英

如何在两个实体(不相关的实体)之间使用Hibernate进行连接

[英]How to Do a Join using Hibernate between two Entities (unrelated Entities)

我在Java中有两个参与者:Screen和FavoriteScreen,

屏幕属性:screenId所有者,...

FavoriteScreen:screenId屏幕:Entity本身和其他表相关的其他字段。

我的问题是我希望使用Hibernate Join获得所有喜欢的屏幕。 我用这样的SQL语句解决了这个问题:

从仪表板中选择*,其中id为(从收藏仪表板中选择ID)

有没有办法用Hibernate解决它。

谢谢

我相信这是你的疑问:

select * from the Screen where id in (select screen_id from the FavoriteScreen)

如果是这样,您可以在FavoriteScreen和Screen之间添加OneToOne关系。 然后从FavoriteScreen获取屏幕。

@Entity
public class FavoriteScreen {
   ... attributes...

   @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
   @JoinColumn(name = "screen_id")
   Screen screen
}

它将在Screen和FavoriteScreen之间创建一对一关联。 你可以使用获取屏幕。

entityManager.createQuery("Select FS.screen From FavoriteScreen FS ").getResultList()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM