hibernate中表的复合主键映射表

来源:互联网 发布:淘宝致远名表 编辑:程序博客网 时间:2024/06/17 21:34

成绩表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(); //提交事务}










0 0
原创粉丝点击