gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:49:41 26 4
gpt4 key购买 nike

我在Java中有两个实体:Screen和FavoriteScreen,

屏幕属性: 屏幕ID 楼主,...

最喜欢的屏幕: 屏幕ID 屏幕:实体本身 以及与其他表相关的其他字段。

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

从 id 所在的仪表板中选择 *(从最喜欢的仪表板中选择 id)

有什么办法可以使用Hibernate来解决这个问题吗?

谢谢

最佳答案

我相信这是您的查询:

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

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

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

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

它将在屏幕和 Collection 夹屏幕之间创建一对一的关联。您可以使用获取屏幕。

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

关于java - 如何使用 Hibernate 在两个实体(不相关的实体)之间进行联接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56061223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com