Hibernate(二) 组合主键映射
组合主键映射
?
?语法:
1.将主件类注解为@Embeddable,并将主键的属性注解为@Id
2.将主件的属性注解为@EmbeddedId
3.将类注解为@IdClass,并将该实体中所有属于主键的属性都注解为@Id
?
1
?
?
//实体类package com.woxiaoe.study.hibernate;import java.math.BigInteger;import javax.persistence.Column;import javax.persistence.EmbeddedId;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import org.hibernate.annotations.GenericGenerator;@Entitypublic class Student {private BigInteger id;private int age;private String name;private StudentCard studentCard;public BigInteger getId() {return id;}public void setId(BigInteger id) {this.id = id;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Id//j将主键类注解为@Idpublic StudentCard getStudentCard() {return studentCard;}public void setStudentCard(StudentCard studentCard) {this.studentCard = studentCard;}}?
2.去掉组件类的@Embeddable注解,在实体类中将其注解为@EmbeddedId
3.将类注解为@IdClass,并将该实体中所有属于主键的属性都注解为@Id