我有一个例外,我在表上没有映射。但我有这个 执行是:\ 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;
}
}
答案 0 :(得分:0)
解决。
刚刚改变
@Table(name = "people")
到
@Table(name = "person")
答案 1 :(得分:0)
在我的案例中,有一个项目包含导致此问题的jar副本。这是一个web项目,它在其lib中包含jar,即具有不同类版本的同一jar的2个副本。只有当我打开主耳并在网络项目中找到第二个jar时才发现这个。