play! 如何建立复合主键


从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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值