jay*_*del 32 java attributes overriding jpa
我现在正在(快速)使用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;
...
}
Run Code Online (Sandbox Code Playgroud)
的EmbeddedEmployeePK类是一个相当简单的@Embeddable类来定义对@Columns:lastName和ssn.
哦,我从Rubinger&Burke的O'Reilly的Enterprise JavaBeans 3.1中提取了这个例子.
在此先感谢您提供给我的任何帮助.
zmf*_*zmf 39
它说构成嵌入式id的属性可能已经预定义(通过显式或隐式映射)列名.通过使用@AttributeOverride你所说的"忽略你有关于它存储在哪个列的其他信息,并使用我在这里指定的那个".
Rav*_*ekh 27

在UserDetails类中,我已覆盖homeAddress&officeAddresswithAddress
这一个地址POJO将在DB中用于两个表.
D B:
Table1 Table2
STREET_NAME HOME_STREET_NAME
CITY_NAME HOME_CITY_NAME
STATE_NAME HOME_STATE_NAME
PIN_CODE HOME_PIN_CODE
Run Code Online (Sandbox Code Playgroud)
EmbeddedEmployeePK类是一个相当简单的@Embeddable类,它定义了一对@Columns:lastName和ssn.
不完全 - EmbeddedEmployeePK定义一对属性,然后映射到列.该@AttributeOverride注解允许你将覆盖到嵌入式类的属性映射的列.
这种情况的用例是当嵌入类用于其列名不同的不同情况时,需要一些机制来更改这些列映射.例如,假设您有一个实体,其中包含两个相同嵌入的单独实例 - 它们不能同时映射到相同的列名.
| 归档时间: |
|
| 查看次数: |
41480 次 |
| 最近记录: |