play! 如何建立复合主键

来源:互联网 发布:coreldraw软件下载 编辑:程序博客网 时间:2024/05/22 06:04


从play1.2.4开始,支持复合主键。

现在我们定义一个用户model,假设用用户姓名作为ID(其实这是不科学的,重名的人太多了),用户姓名有firstName 和lastName。定义这两个字段为复合主键。

具体操作如下:

首先建立一个UserId,将复合主键中所需要包含的字段都加到这里面去

package models;import javax.persistence.Embeddable;import java.io.Serializable;@Embeddablepublic class UserId implements Serializable {    public String firstName;    public String lastName;}

 

然后咱们就可以建立我们entity了

package models;import play.db.jpa.GenericModel;import play.db.jpa.Model;import javax.persistence.EmbeddedId;import javax.persistence.Entity;@Entitypublic class UserCompositeId extends GenericModel {  @EmbeddedId  public UserId id;  public Integer age;}

 

哦了。。。。不过这不过是一个简单的演示,其实hibernate还提供了@idclass 建立复合主键。便于码农快速解决问题,先出个简明版。之后再出个详细解说版本。

参考:

http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html#entity-mapping-identifier