异常:Associations marked as mappedBy must not define database mappings like @JoinTable or @JoinColumn
错误代码:
@OneToMany(targetEntity = User.class, cascade = { CascadeType.REMOVE, CascadeType.PERSIST }, mappedBy = "department")
@JoinColumn(name = "department_id")
public Set<User> getUsers() {
return users;
}
查出结果发现:在4.2版本中@JoinColumn与mappingBy是互斥的,之前在hibernate.3.3.2中都是正确无误的,也就是hibernate.3.3.2允许这两个互相存在。现在版本升级到了hibernate4.2,在4.2新的版本中是不允许这两个共存的,把mappBy="parent"去掉就Ok了。
改成正确代码:
@OneToMany(targetEntity = User.class, cascade = { CascadeType.REMOVE, CascadeType.PERSIST })
@JoinColumn(name = "department_id")
public Set<User> getUsers() {
return users;
}