我目前正在(恢复)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:lastNamessn

哦,我从Rubinger&Burke的O'Reilly的Enterprise JavaBeans 3.1中提出了这个示例。

预先感谢您可以给我的任何帮助。

最佳答案

就是说,构成嵌入式ID的属性可能具有预定义的(通过显式或隐式映射)列名。通过使用@AttributeOverride,您说的是“忽略关于存储在哪一列中的其他信息,并使用我在此处指定的信息”。

10-06 02:19