gpt4 book ai didi

java - Hibernate View 映射

转载 作者:行者123 更新时间:2023-11-30 06:40:21 25 4
gpt4 key购买 nike

我有两个类。一个名为 person 的类和一个名为 group 的类。现在,我创建了一个链接这些类的 View ,并创建了一个带有 @Immutual 注释的类。

查看结果

| person_id | group_id |
| ----------|----------|
| 1 | 2 |
| 2 | 2 |
| 3 | 4 |
| ... | ... |

类 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映射到PersonGroup。像这样:

类(class)人物

@Entity
public class Person {

...

private PersonGroup group;

...

}

类(class)组

@Entity
public class Group {

...

private Set<PersonGroup> person;

...

}

这可能吗?如果是,我应该使用哪些注释?我尝试了很多,但没有任何效果。

问候,XY

最佳答案

  1. 如果您想在 Person 模型中使用 PersonGroup ,那么您必须使用 @Embeddable 注解来嵌入值类型对象到我们的实体类中。像这样:-

    @Entity
    @Embeddable
    @Table(name = "person_group")
    @Immutable
    public class PersonGroup {
    .....

    然后将注释@Embedded添加到Person类中。像这样:-

    @Entity
    public class Person {

    ...
    @Embedded
    private PersonGroup group;
  2. 如果你想在Group模型中使用PersonGroup meodel,那么在Group类中使用@ElementCollection注解,如下所示

    @Entity
    public class Person {

    ...
    @ElementCollection
    private Set<PersonGroup> person;

请引用以下教程。

Doc1Doc2

关于java - Hibernate View 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44454367/

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