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

时间:2014-06-13 08:33:07

标签: jpa

我有一个例外,我在表上没有映射。但我有这个 执行是:\ AnnotationException:mappedBy引用未知的目标实体属性:Person.relations中的Relative.people

相对实体在这里:

@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;
    }
}

Person实体在这里:

@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;
    }
}

2 个答案:

答案 0 :(得分:0)

解决。

刚刚改变

@Table(name = "people")

@Table(name = "person")

答案 1 :(得分:0)

在我的案例中,有一个项目包含导致此问题的jar副本。这是一个web项目,它在其lib中包含jar,即具有不同类版本的同一jar的2个副本。只有当我打开主耳并在网络项目中找到第二个jar时才发现这个。