读书人

转-JPA 眉批参考(3)

发布时间: 2012-10-30 16:13:36 作者: rapoo

转-JPA 批注参考(3)

属性

必需

说明

name

转-JPA 眉批参考(3)

属性

必需

说明

value

转-JPA 眉批参考(3)

要指定复合主键类,请将 value 设置为所需的 Class(请参阅 @AttributeOverride)。
示例 1-37 显示了一个非嵌入的复合主键类。在该类中,字段 empName 和 birthDay 的名称和类型必须对应于实体类中属性的名称和类型。示例 1-38 显示了如何使用这个非嵌入的复合主键类(使用 @IdClass 批注)配置 EJB 3.0 实体。由于实体类字段 empName 和 birthDay 在主键中使用,因此还必须使用 @Id 批注对其进行批注。
示例 1-37 非嵌入的复合主键类
public class EmployeePK implements Serializable{private String empName;private Date birthDay;
public EmployeePK()???       {???       }
public String getName()???       {return empName;???       }
public void setName(String name)???       {empName = name;???       }
public long getDateOfBirth()???       {return birthDay;???       }
public void setDateOfBirth(Date date)???       {birthDay = date;???       }
public int hashCode()???       {return (int) empName.hashCode();???       }
public boolean equals(Object obj)???       {if (obj == this) return true;if (!(obj instanceof EmployeePK)) return false;if (obj == null) return false;EmployeePK pk = (EmployeePK) obj;return pk.birthDay == birthDay && pk.empName.equals(empName);???       }}
示例 1-38 @IdClass
@IdClass(EmployeePK.class)@Entitypublic class Employee{@Id String empName;@Id Date birthDay;...}

读书人网 >编程

热点推荐