play! 如何建立复合主键
2013-09-01 12:46
344 查看
从play1.2.4开始,支持复合主键。
现在我们定义一个用户model,假设用用户姓名作为ID(其实这是不科学的,重名的人太多了),用户姓名有firstName 和lastName。定义这两个字段为复合主键。
具体操作如下:
首先建立一个UserId,将复合主键中所需要包含的字段都加到这里面去
然后咱们就可以建立我们entity了
哦了。。。。不过这不过是一个简单的演示,其实hibernate还提供了@idclass 建立复合主键。便于码农快速解决问题,先出个简明版。之后再出个详细解说版本。
参考:
http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html#entity-mapping-identifier
现在我们定义一个用户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
相关文章推荐
- 如何在数据库表中建立复合主键
- 如何在sqlserver数据库表中建立复合主键
- 如何在表中建立复合主键(即多个字段同时作为主键)
- 如何在sqlserver数据库表中建立复合主键
- 你知道如何查询/删除/建立DB2数据表的主键吗?
- XAF 如何使用复合主键和复合外键
- XAF 如何使用复合主键和复合外键
- 如何创建复合主键
- 如何建立主键、外键、索引、重建索引等
- MySQL如何创建主键,外键和复合主键
- Hibernate: 复合主键 (Composite Key) 如何兼容 NULL值
- 建立复合主键
- 建立类似复合主键的唯一约束, 建立前查找违反多列唯一约束的记录
- NHibernate: 复合主键 (Composite Key) 如何兼容 NULL值
- 如何给Sqlite添加复合主键
- jpa的复合主键中关系中如何配置才能做到级联删除,我现在的问题是现在有一个学生类一个课程类,下面补充
- Oracle如何建立自增主键
- mysql复合主键如何设定自增长属性
- 如何删除mysql 主键索引
- 批量删除如何传给后台主键