我有两个实体,它们通过一对一的关系相互关联。 User
是Balance
的所有者。我将Hibernate设置为自动创建表,这似乎不起作用。问题可能是由其他原因引起的,但我想确保首先正确配置一对一的关系。
请您检查以下实体并告诉我它们是否正确?
@Entity
@Table(name = "users")
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@OneToOne
@JoinColumn(name = "balance_id", referencedColumnName = "id")
private Balance balance;
}
@Entity
@Table(name = "balances")
public class Balance implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@OneToOne(mappedBy = "users")
private User user;
}
答案 0 :(得分:1)
不,这不对。 mappedBy的值必须是属性的名称,在另一个实体中,它是关联的所有者方:
@OneToOne(mappedBy = "balance")