id生成策略-(联合主键xml annotation)-5
2017-05-28 23:07
405 查看
xml中:
新建主键类// 注意实现序列化,原因a:如果集群中某机器down掉,可能要求把对象写到其他服务器磁盘上;原因b:机器可能使用虚拟内存,将对象写磁盘上 // 注意重写equals hashCode 原因:对象有可能存内存的hash表里,不要hashCode确定位置,需要equals比较对象的一致 public class StudentPK implements Serializable{ private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object o){ if(o instanceof StudentPK){ StudentPK s = (StudentPK)o; if(this.id == s.getId() && this.name == s.getName()){ return true; } } return false; } @Override public int hashCode(){ return this.name.hashCode(); } }
实体中用主键类作为pk
xml中配置映射
<class name="Student"> <!--联合主键--> <composite-id name="pk" class="model.StudentPK"> <key-property name="id"></key-property> <key-property name="name"></key-property> </composite-id> <property name="age"/> </class>
annotation中(3种方式):
1.将组件类注解为@Embeddable,并将组件的属性注解为@Id(不常用)@Embeddable public class TeacherPK implements Serializable{...}
public class Teacher { ... @Id public TeacherPK getPk() { return pk;} ... }
2.将组件的属性注解为@EmbeddedId(第二第三选一种)
public class Teacher { ... @EmbeddedId public TeacherPK getPk() { return pk;} ... }
3.将类注解为@IdClass,并将该实体中所有属于主键的属性都注解为@Id(第二第三选一种)
@IdClass(TeacherPK.class) public class Teacher { ... @Id public int getId() { return id; } public void setId(int id) { this.id = id; } @Id public String getName() { return name; } public void setName(String name) { this.name = name; } ...}
相关文章推荐
- 1.10 ID生成策略(联合主键annotation方式)
- Annotation注解归总&ID生成策略&联合主键及hql中的条件查询写法
- hibernate---id生成策略_联合主键_Annoation
- Hibernate-Annotation常用的注解归总&&ID的生成策略&&联合主键
- Hibernate的ID生成策略/联合主键解决方案
- Hibernate的ID生成策略/联合主键解决方案
- Hibernate的ID生成策略/联合主键解决方案
- 1.9 ID生成策略(xml方式的联合主键)
- ID生成策略:联合主键xml
- Hibernate之ID生成策略—联合主键
- hibernate---id生成策略_联合主键_xml
- 【Hibernate框架开发之四】Hibernate-Annotation常用的注解归总&&ID的生成策略&&联合主键
- Hibernate ID生成策略/联合主键解决方案
- hibernate id 联合主键生成策略
- 【Hibernate框架开发之四】Annotation注解归总&ID生成策略&联合主键
- Hibernate学习笔记(三)----ID生成策略、联合主键
- 【Hibernate框架开发之四】Hibernate-Annotation常用的注解归总&&ID的生成策略&&联合主键
- ID生成策略之联合主键xml实现
- hibernate--ID生成策略_联合主键
- Hibernate中id的table生成策略之联合主键