我目前正在(恢复)EJB的最新知识,而在我离开时,它发生了巨大的变化(到目前为止,情况有所好转)。但是,我遇到了一个我正在苦苦挣扎的概念,并且想更好地理解它,因为它似乎已经在我们的代码中使用了(我在这里工作,而不是我和我所有的声音)。
这是我在一本书中找到的示例。这是显示如何使用@EmbeddedId
批注的示例的一部分:
@Entity
public class Employee implements java.io.Serializable
{
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name="lastName", column=@Column(name="LAST_NAME"),
@AttributeOverride(name="ssn", column=@Column(name="SSN"))
})
private EmbeddedEmployeePK pk;
...
}
EmbeddedEmployeePK
类是一个相当简单的@Embeddable
类,它定义了一对@Columns
:lastName
和ssn
。哦,我从Rubinger&Burke的O'Reilly的Enterprise JavaBeans 3.1中提出了这个示例。
预先感谢您可以给我的任何帮助。
最佳答案
就是说,构成嵌入式ID的属性可能具有预定义的(通过显式或隐式映射)列名。通过使用@AttributeOverride
,您说的是“忽略关于存储在哪一列中的其他信息,并使用我在此处指定的信息”。