【发布时间】:2012-03-21 16:51:06
【问题描述】:
在我的 JPA 类中,我有这个注释和我无法理解的语法
@JoinColumns({
@JoinColumn(name="RES_ID", referencedColumnName="ACCT_ID"),
@JoinColumn(name="DELETED", referencedColumnName="'N'")
})
protected Account account;
第一行没问题:当前类在 db (RES_ID) 中有列,它与 Account 连接,ACCT_ID 中的列有 ACCT_ID
但是第二行说:
@JoinColumn(name="DELETED", referencedColumnName="'N'")
现在这两个表都有一个名为DELETED 的列。当这两个表都有DELETED = 'N' 时,这是连接这两个表的简写方式吗?
因为文档说referencedColumn 应该包含columnName。这里它包含一个value = N
【问题讨论】:
-
规范中没有提到
referencedColumnName可以包含要加入的鉴别器值。这段代码真的有效吗? -
'N' 并不是真正的鉴别器值。因为 DELETED 没有被标记为鉴别器列。但代码运行良好。