我想设置由hibernate自动生成的外键约束名称,因此它不是fk_123213241341
,而是fk_user
。
我尝试使用新的JPA 2.1注释@ForeignKey
。但我可能错过了一些东西:
org.hibernate.AnnotationException: A Foreign key refering User from Trip has the wrong number of column. should be 2
@IdClass(UserPK.class)
class User {
@Id
String firstname;
@Id
String lastname;
//other fields omitted
}
class UserPK {
String firstname;
String lastname;
}
class Trip {
@ManyToOne
@JoinColumn(foreignKey = @ForeignKey(name = "FK_USER")
private User user;
}
答案 0 :(得分:3)
您需要使用@JoinColumns
注释(请注意's'
):
class Trip {
@ManyToOne
@JoinColumns(foreignKey = @ForeignKey(name = "FK_USER")
private User user;
}