@AttributeOverride是什么意思?

2022-09-01 01:54:27

我目前正在(恢复)与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@ColumnslastNamessn

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

提前感谢您能给我的任何帮助。


答案 1

它说组成嵌入式 ID 的属性可能具有预定义的(通过显式或隐式映射)列名。通过使用,您正在说“忽略您拥有的有关它存储在哪个列中的其他信息,并使用我在这里指定的那个”。@AttributeOverride


答案 2

AttributeOverride

在 UserDetails 类中,我已覆盖 &withhomeAddressofficeAddressAddress

此 One Address POJO 将作用于 DB 中的两个表。

分贝:

Table1      Table2
STREET_NAME HOME_STREET_NAME
CITY_NAME   HOME_CITY_NAME
STATE_NAME  HOME_STATE_NAME
PIN_CODE    HOME_PIN_CODE