hibernate中表的复合主键映射表
2015-11-16 19:16
387 查看
成绩表Cj:学号和课程号是复合主键
映射文件Cj.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.cn">
<class name="Cj" table="CJ">
<composite-id >
<key-property name="xh" column="XH" type="string"/>
<key-property name="kch" column="KCH" type="string"/>
</composite-id>
<property name="cj" column="CJ" type="integer"/>
</class>
</hibernate-mapping>
这里注意用<composite-id>就行了。
保存对象:
public void saveCj(){
Transaction ts=session.beginTransaction(); //定义事务
Cj cj=new Cj(); //创建POJO类对象
cj.setXh("081101"); //设置学号
cj.setKch("001"); //设置课程号
cj.setCj(80); //设置成绩
session.save(cj); //保存
ts.commit(); //提交事务
}
修改对象:
public void updateCj1(){
Transaction ts=session.beginTransaction();
//根据学号及课程号查询,注意这里是HQL语句,Cj是类名,xh和kch是类中属性
//关于HQL会在后面讲解
Query query=session.createQuery("from Cj where xh='081101' and kch='001'");
Cj cj=(Cj) query.list().get(0); //得到第一个值
cj.setCj(92); //重新赋值成绩
session.update(cj); //修改
ts.commit(); //提交事务
}
映射文件Cj.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.cn">
<class name="Cj" table="CJ">
<composite-id >
<key-property name="xh" column="XH" type="string"/>
<key-property name="kch" column="KCH" type="string"/>
</composite-id>
<property name="cj" column="CJ" type="integer"/>
</class>
</hibernate-mapping>
这里注意用<composite-id>就行了。
保存对象:
public void saveCj(){
Transaction ts=session.beginTransaction(); //定义事务
Cj cj=new Cj(); //创建POJO类对象
cj.setXh("081101"); //设置学号
cj.setKch("001"); //设置课程号
cj.setCj(80); //设置成绩
session.save(cj); //保存
ts.commit(); //提交事务
}
修改对象:
public void updateCj1(){
Transaction ts=session.beginTransaction();
//根据学号及课程号查询,注意这里是HQL语句,Cj是类名,xh和kch是类中属性
//关于HQL会在后面讲解
Query query=session.createQuery("from Cj where xh='081101' and kch='001'");
Cj cj=(Cj) query.list().get(0); //得到第一个值
cj.setCj(92); //重新赋值成绩
session.update(cj); //修改
ts.commit(); //提交事务
}
相关文章推荐
- MySQL 创建主键,外键和复合主键的语句
- sql server创建复合主键的2种方法
- Hibernate 联合主键生成机制 xml
- 如何在数据库表中建立复合主键
- hibernate中的映射文件xxx.hbm.xml详解总结
- myeclipse自动生成hibernate映射文件的过程
- hibernate的简单配置实例
- Mybatis ResultMap Collection 复合主键
- 复合主键JPA
- Hibernate复合主键映射
- Hibernate中的复合主键映射
- 一次mysql占用cpu高的处理过程
- 解决MySQL复合主键下ON DUPLICATE KEY UPDATE语句失效问题
- Hibernate映射文件结构
- Hibernate复合主键的注解
- 数据库为何要有复合主键(多主键)
- Hibernate复合主键中其中有主键是引用外键情况下的配置方法
- hibernate的一对多双向关联映射----客户和订单关系
- SSH-hibernate的映射配置文件
- Spring Data Rest遇到复合主键