JPA OneToOne双向

时间:2014-03-20 12:13:45

标签: jpa-2.0

我有两个实体,它们通过一对一的关系相互关联。 UserBalance的所有者。我将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;
}

1 个答案:

答案 0 :(得分:1)

不,这不对。 mappedBy的值必须是属性的名称,在另一个实体中,它是关联的所有者方:

@OneToOne(mappedBy = "balance")