gpt4 book ai didi

Hibernate:多对多连接表的标准?

转载 作者:行者123 更新时间:2023-12-03 21:17:14 24 4
gpt4 key购买 nike

考虑以下两个关系:

@Entity class Foo {
@Id id;

@ManyToMany
@JoinTable(name = "ATag",
joinColumns = @JoinColumn(name = "foo_id"),
inverseJoinColumns = @JoinColumn(name = "tag_id"))
Set<Tag> tags;
}

@Entity class Tag {
@Id Long id;
String name;
}

连接表ATag 没有对应的实体类。现在,我想获取所有带有名为“tag1”的标签的 Foo 实例,是否可以仅使用 Criteria?

子查询可能会有所帮助,但是,我无法为不存在的类 ATag.class 创建 DetachedCriteria。

最佳答案

刚刚处理了这个确切的问题。你是在表格中思考,而不是对象。仅供引用tags.name让 Hibernate 来处理剩下的事情:

Criteria crit = session.createCriteria(Foo.class);
crit.createAlias("tags", "tagsAlias");
crit.add(Restrictions.eq("tagsAlias.name", someValue);

如果您观察 SQL Hibernate 的输出,您会看到它使用了连接表。

关于Hibernate:多对多连接表的标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6744941/

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