【发布时间】:2014-03-15 23:30:49
【问题描述】:
我有实体User,这个实体在另一个实体Product 中使用了两次。我使用休眠和创建表之间的外键。还有两个外键 - create_by 和 modified_by。
类用户
class User {
private Set<Product> products = new HashSet<Product>(0);
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
public Set<ProductgetProducts{
return this.products
}
public void setProducts(Set<Product> products) {
this.products = products
}
}
类产品
class Product {
private User createdBy;
private User modifiedBy;
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
@JoinColumn(name = "modified_by", nullable = false)
public User getModifiedBy() {
return modifiedBy;
}
public void setModifiedBy(User createdBy) {
this.modifiedBy= modifiedBy;
}
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
@JoinColumn(name = "created_by", nullable = false)
public User getCreatedBy() {
return createdBy;
}
public void setCreatedBy(User createdBy) {
this.createdBy = createdBy;
}
}
它抛出了这个异常,我不知道如何修复它。
Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: Product.user in User.products
【问题讨论】: