
hibernate 联合主键怎么做查询
1个回答
展开全部
联合主键时,先做一个联合主键类:
import java.io.Serializable;
public class NamePK implements Serializable{
//主键类private static final long serialVersionUID = 8313037022835155821L;
private String firstName;
private String lastName;
// getter/setter方法略...
你的实体类,假设是UserInfo,就这么写了:
public class UserInfo {
private NamePK namePk;
private String sex;
private int age;
// getter/setter方法略...
}
配置映射文件UserInfo.hbm.xml的关键部分应该这么写:
<composite-id name="namePk">
<key-property name="firstName" column="first_name" length="12"/>
<key-property name="lastName" column="last_name" length="12"/>
</composite-id>
然后,查询时就对上面的类对象进行赋值,然后用session的get, load方法查:
NamePK namePk = new NamePK();
namePk.setFirstName("Zhang");
namePk.setLastName("san");
UserInfo ui = (UserInfo) session.get(UserInfo.class, namePk);
System.out.println(ui.getAge());
System.out.println(ui.getSex());
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询