您的位置:首页 > 其它

play! 如何建立复合主键

2013-09-01 12:46 344 查看
从play1.2.4开始,支持复合主键。

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

具体操作如下:

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

package models;

import javax.persistence.Embeddable;
import java.io.Serializable;

@Embeddable
public 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;

@Entity
public 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: