gpt4 book ai didi

java - 如何在 Hibernate 中使用列表关联获取对象

转载 作者:行者123 更新时间:2023-12-02 02:36:01 25 4
gpt4 key购买 nike

我有一个带有 setter 和 getter 的 A 类

class A{
private int id;
private List<B> b;
}

我想根据B对象获取A对象。因此,假设我有一个 B 对象列表,我想获取包含 B 的 A 对象。所以我决定使用 in这是代码

Criteria criteria = session.createCriteria(A.class).setCacheable(false); 
criteria.add(Restrictions.in("b",{list of B})).list();

这会产生错误java.sql.SQLException:没有为参数1指定值

如何使用 B 获取对象 A

最佳答案

你应该先加入B:

Criteria criteria = session.createCriteria(A.class)
.setCacheable(false)
.setFetchMode("bList", FetchMode.JOIN)
.createAlias("bList", "b");

然后使用 IN 作为 b 的 id:

criteria.add(Restrictions.in("b.id",{list of B})).list();

相应地设置您的获取模式,无论您是否希望 B 列表也与 A 分开。

关于java - 如何在 Hibernate 中使用列表关联获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57201919/

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