這不是我所經歷的。對於以下實體:
@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
。