Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jpa AnnotationException:mappedBy引用未知的目标实体属性_Jpa - Fatal编程技术网

Jpa AnnotationException:mappedBy引用未知的目标实体属性

Jpa AnnotationException:mappedBy引用未知的目标实体属性,jpa,Jpa,我有一个例外,那个就是我在表上并没有映射。但我有这个 例外情况是:\ AnnotationException:mappedBy引用未知目标实体属性:Relative.people in Person.relations 相对实体如下所示: @Entity @Table(name = "relation") public class Relative extends AbstractModel<UUID> implements Model<UUID> { priv

我有一个例外,那个就是我在表上并没有映射。但我有这个 例外情况是:\ AnnotationException:mappedBy引用未知目标实体属性:Relative.people in Person.relations

相对实体如下所示:

@Entity
@Table(name = "relation")
public class Relative extends AbstractModel<UUID> implements Model<UUID> {

    private UUID id;
    private Person person;
    private RelationTypeEnum relation;

    public Relative() {
    }

    @Override
    public void assignId() {
        id = UUID.randomUUID();
    }

    @Override
    @Id
    @Column(name = "id")
    public UUID getId() {
        return id;
    }

    @ManyToOne
    @JoinColumn(name="person_id", nullable=false)
    public Person getPerson() {
        return person;
    }

    @Column(name = "relation")
    public RelationTypeEnum getRelation() {
        return relation;
    }

    public void setId(UUID id) {
        this.id = id;
    }

    public void setPerson(Person person) {
        this.person = person;
    }

    public void setRelation(RelationTypeEnum relation) {
        this.relation = relation;
    }
}
个人和实体在这里:

@Entity
@Table(name = "people")
public class Person extends AbstractModel<UUID> implements Model<UUID> {

    private UUID id;
    private String name;
    private List<Relative> relations;

    @Override
    public void assignId() {
        id = UUID.randomUUID();
    }

    @Override
    @Id
    @Column(name = "id")
    public UUID getId() {
        return id;
    }

    @Column(name = "name")
    public String getName() {
        return name;
    }

    @OneToMany(targetEntity=Relative.class, cascade=CascadeType.ALL,
            mappedBy="people")
    public List<Relative> getRelations() {
        return relations;
    }

    public void setId(UUID id) {
        this.id = id;
    }

    public void setName(String username) {
        this.name = username;
    }

    public void setRelations(List<Relative> relations) {
        this.relations = relations;
    }
}
解决了

刚刚改变

@Table(name = "people")


在我的例子中,有一个项目包含了导致此问题的jar副本。这是一个web项目,它将jar包含在其库中,即相同jar的两个副本,一个具有不同类版本的副本。只有当我打开主ear并在一个web项目中找到第二个jar时才发现这一点。

错误消息中有什么不清楚的地方?人应该是一个财产相对的实体。用人代替。
@Table(name = "person")