gpt4 book ai didi

java - Hibernate 集合中的独特项目

转载 作者:行者123 更新时间:2023-11-29 09:25:07 25 4
gpt4 key购买 nike

我在 Hibernate 中定义了一个集合,如下所示:

...
public class Item {
...
@ElementCollection
List<Object> relatedObjects;
}

它创建一个包含列 item_id 和 object_id 的映射表。

问题是 object_id 似乎是唯一的。换句话说,我不能让两个不同的项目与同一个对象相关。但这就是我想要的。

我希望 item_id 和 object_id 的组合是唯一的。我该怎么做?

最佳答案

这不是我遇到的情况。对于以下实体:

@Entity
public class Person implements Serializable {
@Id
@GeneratedValue
private Integer id;
private String firstName;
private String lastName;
@Enumerated(EnumType.STRING)
private Gender gender;

@ElementCollection
private Set<String> nicknames = new HashSet<String>();

private String dept;

// getters, setters
}

创建了下表:

create table Person (id integer generated by default as identity, dept varchar(255), firstName varchar(255), gender varchar(255), lastName varchar(255), primary key (id))create table Person_nicknames (Person_id integer not null, nicknames varchar(255))alter table Person_nicknames add constraint FK24F0D97B19ACB65E foreign key (Person_id) references Person

没有唯一约束。但如果没有看到您的“对象”类(这是一个可嵌入的类,对吧?),我不能说更多。

PS:ElementCollection 不能是ManyToMany,这更像是OneToMany

关于java - Hibernate 集合中的独特项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3067841/

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