使用 JPA 和 Hibernate 实现组合键
2009-11-05 00:00:00 来源:WEB开发网问题定义
本技巧从问题的简单的描述开始:定义组合数据库键。这个键组合了多列,唯一地定义一个数据库表的行。有时,组合键也称为自然键 或业务键。某些时候使用组合键的原因是所选键在某些方面与最终用户的业务领域相关联。要定义组合键,只需从该领域中选择一些属性,并将其组合在一起,提供所需的行唯一性程度。组合键的缺点是设计和编码略有难度。此外,组合键倾向于将您的数据库和 ORM 设计绑定到原始领域。后者可能会成为严重的问题。
实体代码
清单 1 展示了一个名为 BillingAddress 的 Java 类。该类建模一名个人或一个组织的账单邮寄地址。账单本身与另一个名为 PurchaseOrder 的 Java 类关联。这里并没有什么出人意料之处 — 下置购买订单,接下来进行账单邮寄流程。
清单 1. BillingAddress 类import javax.persistence.*;
import java.io.Serializable;
@Embeddable
public class BillingAddress implements Serializable {
private String street;
private String city;
BillingAddress() {}
public BillingAddress(String street, String city) {
this.street = street;
this.city = city;
}
public String getStreet() {
return street;
}
private void setStreet(String street) {
this.street = street;
}
public String getCity() {
return city;
}
private void setCity(String city) {
this.city = city;
}
}
更多精彩
赞助商链接