WEB开发网
开发学院软件开发Java 使用 JPA 和 Hibernate 实现组合键 阅读

使用 JPA 和 Hibernate 实现组合键

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 这里有必要说明一个要点,该类实现了 Java Serializable 接口,使用 JPA 和 Hibernate 实现组合键(2),另外还要注意带有注释 @Embeddable 的一行,此注释是组合键拼图中的第一块,后者由清单 2 中名为 @Table 的相应注释表明,我发现,带有 @Embe

这里有必要说明一个要点,该类实现了 Java Serializable 接口。另外还要注意带有注释 @Embeddable 的一行。此注释是组合键拼图中的第一块。带有 @Embeddable 注释的 Java 类本身可作为其他类的子组件。这听起来似乎有点复杂,而实际并非如此。作为演示,清单 2 展示了 PurchaseOrder 类,它使用清单 1 中的 BillingAddress 类。


清单 2. PurchaseOrder 类
import javax.persistence.*; 
 
@Entity 
@Table(name = "PURCHASE_ORDERS") 
@IdClass(BillingAddress.class) 
public class PurchaseOrder { 
 
 PurchaseOrder() {} 
 
 PurchaseOrder(BillingAddress billingAddress) { 
 street = billingAddress.getStreet(); 
 city = billingAddress.getCity(); 
 } 
 
 @Id 
 @AttributeOverrides({ 
 @AttributeOverride(name = "street", 
 column = @Column(name="STREET")), 
 @AttributeOverride(name = "city", 
 column = @Column(name="CITY")) 
 }) 
 
 private String street; 
 private String city; 
 private String itemName; 
 
 public String getItemName() { 
 return itemName; 
 } 
 
 public void setItemName(String itemName) { 
 this.itemName = itemName; 
 } 
}

注释总是有些难以理解,清单 2 也不例外。因此,我会将其拆分成便于管理的块。第一个注释是 @Entity,指明该类是一个数据库实体(也就是说,它将构成 ORM 解决方案的一部分)。通常,看到 @Entity 注释就等于看到了对应的数据库表。后者由清单 2 中名为 @Table 的相应注释表明。我发现,以这种方式拆分程序更容易理解。

上一页  1 2 3 4  下一页

Tags:使用 JPA Hibernate

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接