您的位置:首页 > 其它

hibernate组件作为复合主键

2016-06-25 16:14 411 查看

hibernate组件作为复合主键

package com.xueyoucto.xueyou;

import java.io.Serializable;

/**
* Created by Administrator on 2016/6/25.
*/

public class MulKey implements Serializable {
private String firstkey;
private String lastkey;

public MulKey(String firstkey, String lastkey) {
this.firstkey = firstkey;
this.lastkey = lastkey;
}

public MulKey() {

}

public String getFirstkey() {
return firstkey;
}

public void setFirstkey(String firstkey) {
this.firstkey = firstkey;
}

public String getLastkey() {
return lastkey;
}

public void setLastkey(String lastkey) {
this.lastkey = lastkey;
}

@Override
public boolean equals(Object obj) {
if(this == obj){
return true;
}
if(obj != null && obj.getClass() == MulKey.class){
MulKey target = (MulKey)obj;
return target.getFirstkey().equals(getFirstkey()) && target.getLastkey().equals(getLastkey());
}
return false;
}

@Override
public int hashCode() {
return  getFirstkey().hashCode() * 31 + getLastkey().hashCode();
}
}


package com.xueyoucto.xueyou;

import javax.persistence.*;

/**
* Created by Administrator on 2016/6/25.
*/
@Entity
@Table(name = "hh_multientity")
public class MultiEntity {
@EmbeddedId
@AttributeOverrides({
@AttributeOverride(name = "firstkey",column = @Column(name = "multientity_first")),
@AttributeOverride(name = "lastkey",column = @Column(name = "multientity_last")),
})
private MulKey mulkey;
private int age;

public MulKey getMulkey() {
return mulkey;
}

public void setMulkey(MulKey mulkey) {
this.mulkey = mulkey;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}


MultiEntity m = new MultiEntity();
m.setAge(12);
m.setMulkey(new MulKey("xxx","yy"));

session.save(m);


数据库中的结果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: