@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn (name = "account_id")
private Account account;
工作正常。
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn
private Account account;
结果:Exception : Missing column account in SomeSchema.SomeOwnerTable
JPA Spec说默认连接列名是
property name ( 'account') + '_' + target table primary key ( 'id' )
但看起来hibernate只搜索名为'account'的属性而不是'account_id'。
有任何评论吗?
答案 0 :(得分:4)
我认为你可以安全地摆脱@JoinColumn
注释 - 无论如何都有一个连接列。
此外,请确保您尚未配置特定的命名策略,这可能会覆盖默认行为。