Hibernate外键列的不同名称

时间:2011-09-20 10:55:12

标签: hibernate

我进入了数据库表: a)rb_user: id_user,用户名,... b)rb_user_password: id,user_id,密码。

如何在我的java类中注释它?我得到了:

@Entity
@Table(name="rb_users")
@SecondaryTable(name="rb_user_password")
public class User {

    @Id
    @Column(name="id_user")
    private int id;
    private String name;
    ...
    @Column(table="rb_user_password", name="password")
    private String password

我遇到了这些例外:

  

org.postgresql.util.PSQLException:错误:列user0_1_.id_user确实   不存在

我知道它是因为我有主键“id_user”,而在我的表中,密码列名是“user_id”

1 个答案:

答案 0 :(得分:0)

您可以使用@SecondaryTable上的pkJoinColumns属性在辅助表格中指定属性的名称。

@Entity
@Table(name="rb_users")
@SecondaryTable(name="rb_user_password", pkJoinColumns=@PrimaryKeyJoinColumn(name="user_id"))
public class User {
...
}