我上了两节课。名为person的类和名为group的类。现在我创建了一个链接这些类的视图,并使用 @Immutual 注释创建了一个类。
查看结果
| person_id | group_id |
| ----------|----------|
| 1 | 2 |
| 2 | 2 |
| 3 | 4 |
| ... | ... |
Class PersonGroup
@Entity
@Table(name = "person_group")
@Immutable
public class PersonGroup {
@Id
@Column
private Person person;
@Column
private Group group;
public Person getPerson() {
return this.person;
}
public Group getGroup() {
return this.group;
}
}
现在我想将 PersonGroup 映射到 Person 和 Group 。像这样:
班级人员
@Entity
public class Person {
...
private PersonGroup group;
...
}
班级小组
@Entity
public class Group {
...
private Set<PersonGroup> person;
...
}
这可能吗?如果是,我应该使用哪些注释?我尝试了很多,没有什么对我有用。
此致 XY
答案 0 :(得分:1)
如果您想在PersonGroup
模型中使用Person
,则必须使用@Embeddable
注释将值类型对象嵌入到我们的Entity类中。
像这样: -
@Entity
@Embeddable
@Table(name = "person_group")
@Immutable
public class PersonGroup {
.....
然后将@Embedded添加到Person
类。
像这样: -
@Entity
public class Person {
...
@Embedded
private PersonGroup group;
如果您想在PersonGroup
模型中使用Group
模型,请使用@ElementCollection Annotationin Group Class,如下所示
@Entity
public class Person {
...
@ElementCollection
private Set<PersonGroup> person;
请参阅以下教程。