標籤:style blog color java io div 問題 log sp
在網上看到好多方法,結果拿來用還是出現了一些問題。現在整理一下
1、主鍵類
import javax.persistence.Column;public class UserRoleUionPK implements java.io.Serializable { /** * */ private static final long serialVersionUID = 1L; private String userId; private String roleId; /*public UserRoleUionPK() { super(); } public UserRoleUionPK(String userId, String roleId) { this.userId = userId; this.roleId = roleId; }*/ @Column(name="user_id") public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } @Column(name="role_id") public String getRoleId() { return roleId; } public void setRoleId(String roleId) { this.roleId = roleId; } /* @Override public boolean equals(Object o) { if(o instanceof UserRoleUionPK){ UserRoleUionPK key = (UserRoleUionPK)o ; if(this.getUserId().equals(key.getUserId()) && this.getRoleId().equals(key.getRoleId())){ return true ; } } return false ; } @Override public int hashCode() { return this.roleId.hashCode()+this.userId.hashCode(); } */}
網上有的說必須重寫equals和hashcode,還有帶參構造和無參構造,其實不然,我在項目中將其注釋掉沒有發現問題。
我這邊主要注重的一點是@Column註解,之前沒有加入@Colunm一直報列名無效的問題。
entity類
import javax.persistence.EmbeddedId;import javax.persistence.Entity;import javax.persistence.Table;@Entity@Table(name = "sys_user_role")public class SysUserRole implements java.io.Serializable { private UserRoleUionPK uionPK; @EmbeddedId public UserRoleUionPK getUionPK() { return uionPK; } public void setUionPK(UserRoleUionPK uionPK) { this.uionPK = uionPK; }}
2、主鍵類
import javax.persistence.Column;public class UserRoleUionPK implements java.io.Serializable { /** * */ private static final long serialVersionUID = 1L; private String userId; private String roleId; @Column(name = "user_id") public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } @Column(name = "role_id") public String getRoleId() { return roleId; } public void setRoleId(String roleId) { this.roleId = roleId; } }
entity類
import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.IdClass;import javax.persistence.Table;@Entity@Table(name = "sys_user_role")@IdClass(UserRoleUionPK.class)public class SysUserRole implements java.io.Serializable { private String userId; private String roleId; @Id public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } @Id public String getRoleId() { return roleId; } public void setRoleId(String roleId) { this.roleId = roleId; }}
hibernate聯合主鍵註解配置