hibernate联合主键

原创 2015年07月06日 17:31:25

①首先我们要搭建主类:

  package study;
import javax.persistence.Entity;
import javax.persistence.Id;


@Entity
public class Student{
private StudentPK PK;
private int age;
private String sex;

@Id
public StudentPK getPK() {
return PK;
}
public void setPK(StudentPK pK) {
PK = pK;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}

②我们搭建组建类:
package study;


import javax.persistence.Embeddable;
@Embeddable
public class StudentPK implements java.io.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 pk = (StudentPK)o;
if(this.id == pk.getId()&&this.name.equals(pk.getName()));
return true;
}
return false;
}
}

③配置配置文件:

 <mapping  class="study.StudentPK"/>
 <mapping  class="study.Student"/>

在编写程序的过程中,遇到了2个问题:
 org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

这是因为在hibernate.cfg.xml中没有配置组建类:<mapping class="study.StudentPK">

org.hibernate.MappingException: Unknown entity: study.Student
这是因为没有配置@Entity

Hibernate联合主键的例子

  • 2016年05月02日 22:57
  • 1.72MB
  • 下载

hibernate联合主键全攻略

  • 2013年10月10日 09:20
  • 3KB
  • 下载

慎用hibernate联合主键

OID是hibernate当中一个很重要的概念,没有OID的话hibernate就无法帮你管理持久化对象,但是有的时候数据库中的表是没有主键的,这个时候就不得不使用联合主键来作为OID,有时候是将所有...

hibernate的联合主键怎么设置

  • 2008年11月24日 19:19
  • 13KB
  • 下载

Hibernate联合主键

如果一张表中存在联合主键,在hibernate中会把联合主键封装成一个类,然后在实体类中引用此联合主键类。联合主键类需要实现序列化,重写equals以及hashcode方法。 比如Emp有id和na...
  • yyywyr
  • yyywyr
  • 2014年04月02日 22:34
  • 5293

Hibernate学习——(七)联合主键映射以及组件映射

如果有时候需要将多个属性合并在一起作为主键,则需要使用使用联合主键映射的形式。 首先将联合主键需要的属性包装在一个class中: ManagerPK.java: package cn.wqy.dao;...

Hibernate联合主键详解

Hibernate联合主键映射  1. 实现方式一:将复合主键对应的属性与实体其他普通属性放在一起  2. 实现方式二:将主键属性提取到一个主键类中,实体类只需包含主键类的一个引用  联合主...

使用Hibernate配置联合主键的两种方式

1.主键字段和非主键字段在同一个实体类中,Hibernate配置文件如下 脱机版版本...

《Hibernate学习笔记三》:联合主键的映射

《Hibernate学习笔记之三》:联合主键的映射就如在前面所举的例子一样,是使用的id作为唯一的主键,一般情况下我们也只使用唯一的一个属性作为主键,但是在实际中,我们可能会遇到几个属性作为主键的情况...

hibernate使用配置文件创建联合主键往MySQL数据库插入数据

hibernate联合主键映射MySQL数据库
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate联合主键
举报原因:
原因补充:

(最多只允许输入30个字)