use*_*101 7 java orm hibernate jpa
对于hibernate支持,我有一个这样的域对象注释.
@Entity
@Table(name = "INPUT")
public class AppInput {
/**
* Unique id for this request
*/
@Id
@GeneratedValue
@Column(name = "INPUT_ID")
private long requestId;
/**
*
*/
@Column(name = "EMAIL_ID")
private String emailId;
/**
*
*/
@Column(name = "REQUEST_DATE")
private Date requestDate;
/**
*
*/
@Column(name = "INPUT_STATUS")
private char status;
/**
*
*/
@Column(name = "EXPECTED_ORDER_DATE")
private Date expectedOrdDt;
//Getter and setters
}
Run Code Online (Sandbox Code Playgroud)
属性emailId是一个外键,指的是User表中的say emailId列.让我说我向AppInput.java添加这样的属性
private User userDetails;
我如何对此进行注释,以便每当我从db获取AppInput时,相应的用户详细信息也会被填充?
Pas*_*ent 21
属性emailId是一个外键,指的是User表中的say emailId列.
然后不要添加emailId属性,添加一个User.
(...)我如何对此进行注释,以便每当我从db获取AppInput时,相应的用户详细信息也会被填充?
不确定,因为它可能是一个ManyToOne或OneToOne但我认为它是ManyToOne:
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="USERDETAILS_EMAIL_ID", referencedColumnName="EMAIL_ID")
private User userDetails;
Run Code Online (Sandbox Code Playgroud)
该fetch注释元素用于演示目的,EAGER实际上是默认值.该name和referencedColumn在注释元素 JoinColumn也是可选的.以下是JPA规范的简短摘要:
11.1.21 JoinColumn注释
的
JoinColumn注释用于接合的实体关联或元素集合指定列.表20列出了可以为
JoinColumn注释指定的注释元素 及其默认值.如果
JoinColumn注释本身是默认的,则假定使用单个连接列,并应用表20中描述的默认值.该
name注释元素定义了外键列的名称.其余的注释元素(除了referencedColumnName)引用此列并具有与Column注释相同的语义.如果
referencedColumnName元素丢失,则假定外键引用引用表的主键.
有关完整和详尽的详细信息,请参阅规范中的表20.
| 归档时间: |
|
| 查看次数: |
29766 次 |
| 最近记录: |