论坛首页 Java版 Hibernate

could not fetch initial value

浏览 289 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-05-04 关键字: 谁帮我看看为什么报这个错
我的java代码
package hbue.biz;

import hbue.SessionFactory.MyFactory;
import hbue.pojo.Classes;
import hbue.pojo.ClassesClassroom;
import hbue.pojo.Classroom;
import hbue.pojo.Teacher;

import org.hibernate.Session;
import org.hibernate.Transaction;

public class classroomManagerBiz {
	/**
	 *开设一个新的课堂,必修课
	 * @param couId
	 * @param classroomDes
	 * @param classesIdArrary
	 * @return
	 */
	public boolean saveNewClassroom(Teacher tea, String couId, String classroomDes, String[] classesIdArrary ){
//		三个参数分别代表课程id,课堂描述,班级的id数组
		boolean ok = false;
		Classroom classroom = null;
//		ClassesClassroom classesClassroom = null;
//		Classes classes = null;
		Session session = MyFactory.getSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			classroom = new Classroom();
			classroom.setClaRoomId("ceshi001");
			classroom.setDescription(classroomDes);
			session.save(classroom);
			tx.commit();
//			for(int i = 0; i < classesIdArrary.length; i++){				
//				classesClassroom = new ClassesClassroom();
//				classesClassroom.setProxyId("p004");
//				classroom.setClaRoomId("c_r004");
//				classes = (Classes)session.get(Classes.class, classesIdArrary[i]);
////				通过班级id得到这个班级
//				classesClassroom.setClasses(classes);
//				classes.getClassesClassrooms().add(classesClassroom);
////				设置"班级"和"班级-课堂"的对应关系
//				
//				classroom.getClassesClassrooms().add(classesClassroom);
//				classesClassroom.setClassroom(classroom);
////				设置"课堂"和"班级-课堂"的对应关系
//			}
//			classroom.setTeacher(tea);
//			tea.getClassrooms().add(classroom);
////			设置教师和课堂的关联
//			
//			
////			session.save(classesClassroom);
//			
			ok = true;
		}catch (Exception e) {
			if (tx != null) {
				tx.rollback();
		    }
		    e.printStackTrace();
		} finally {
		      session.close();
		}			
		return ok;
	}
	
	
	public static void main(String[] args) {
		classroomManagerBiz biz = new classroomManagerBiz();
		Classroom classroom = new Classroom();
//		classroom.setClaRoomId("clar100");
		Teacher tea = new Teacher();
		String[] str = {"a" ,"b"};
		biz.saveNewClassroom(tea, "cou001", "ceshi", str);
	}
}




配置文件
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="hbue.pojo.Classroom" table="classroom">
        <id name="claRoomId" type="java.lang.String">
            <column name="cla_room_id" length="32" />
            <generator class="increment" />
        </id>
        <many-to-one name="term" class="hbue.pojo.Term" cascade="save-update" not-null="false">
            <column name="term_id" length="32" />
        </many-to-one>
        <many-to-one name="teacher" class="hbue.pojo.Teacher" cascade="save-update" not-null="false">
            <column name="tea_id" length="32" />
        </many-to-one>
        <many-to-one name="course" class="hbue.pojo.Course" cascade="save-update" not-null="false">
            <column name="cou_id" length="32" />
        </many-to-one>
        <property name="description" type="java.lang.String">
            <column name="description" not-null="true" />
        </property>
        <property name="claTime" type="java.lang.String">
            <column name="cla_time" length="32" />
        </property>
        <property name="place" type="java.lang.String">
            <column name="place" length="10" />
        </property>
        <set name="stuClassrooms" inverse="true" cascade="save-update" lazy= "true" batch-size="5">
            <key>
                <column name="cla_room_id" length="32" not-null="false" />
            </key>
            <one-to-many class="hbue.pojo.StuClassroom" />
        </set>
        <set name="classesClassrooms" inverse="true" cascade="save-update" lazy= "true" batch-size="5">
            <key>
                <column name="cla_room_id" length="32" not-null="false" />
            </key>
            <one-to-many class="hbue.pojo.ClassesClassroom" />
        </set>
    </class>
</hibernate-mapping>



sql语句


/*==============================================================*/
/* Table: 学校                                                  */
/*==============================================================*/
create table school (
   sch_id                   varchar(32)          not null,
   sch_name                 varchar(32)          not null,
   constraint PK_school primary key (sch_id)
)
insert into school values("s001","湖北经济学院");

/*==============================================================*/
/* Table: 学院                                                  */
/*==============================================================*/
create table academy (
   aca_id                varchar(32)          not null,  
   aca_name              varchar(32)          not null,
   sch_id                varchar(32) 				  ,         
   constraint PK_academy primary key (aca_id)
)
insert into academy values("a001","计算机学院","s001");

alter table academy
   add constraint fk_academy_references_school foreign key (sch_id) references school (sch_id)


/*==============================================================*/
/* Table: 班级                                                    */
/*==============================================================*/
create table classes (
   cla_id                   varchar(32)          not null,
   cla_name                 varchar(32)          not null,
   aca_id             varchar(32)          null,  
   constraint PK_classes primary key(cla_id)
)
insert into classes values("c001","软件Q0441","a001");
insert into classes values("c002","网络Q0441","a001");

alter table classes
   add constraint FK_classes_references_academy foreign key (aca_id)
      references academy (aca_id)


/*==============================================================*/
/* Table: 教师                                                    */
/*==============================================================*/
create table teacher (
   tea_id                varchar(32)          not null,
   tea_name              char(10)             not null,
   tea_pass              char(16)             not null,
   tea_sex               char(4)              not null,
   tea_call              char(10)             null,
   tea_intro             varchar(255)         null,
   aca_id                varchar(32)          null,
   constraint PK_teacher primary key (tea_id)
)
insert into teacher values("t001","李祥","123","男","讲师","我是一个讲师,我C语言讲的非常好","a001");
insert into teacher values("t002","关培超","123","男","讲师","我是一个讲师,我JAVA语言讲的非常好","a001");
insert into teacher values("t003","高见元","123","男","讲师","我是一个讲师,我算法讲的非常好","a001");

alter table teacher
   add constraint FK_teacher_REFERENCE_academy foreign key (aca_id)
      references academy (aca_id)


/*==============================================================*/
/* Table: 学生                                                    */
/*==============================================================*/
create table student (
   stu_id                   varchar(32)       not null,
   stu_name                 char(10)          null,
   stu_pass              	char(16)             not null,
   stu_sex                  char(4)           null,
   cla_id                	varchar(32)             null,
   constraint PK_学生 primary key (stu_id)
)
insert into student values("s001","武昆","123","男","c001");
insert into student values("s002","张国旗","123","男","c001");
insert into student values("s003","彭大立","123","男","c001");
insert into student values("s004","严忠斌","123","男","c001");
insert into student values("s005","倪超","123","男","c001");
insert into student values("s006","姜开训","123","男","c001");
insert into student values("s007","孙权","123","男","c001");
insert into student values("s008","黄庆峰","123","男","c001");
insert into student values("s009","陈旺民","123","男","c001");
insert into student values("s010","李小龙","123","男","c001");
insert into student values("s011","江小泉","123","男","c001");
insert into student values("s012","薛枚","123","女","c001");
insert into student values("s013","张小微","123","女","c001");
insert into student values("s014","袁珊","123","女","c001");
insert into student values("s015","王爽","123","女","c001");



alter table student
   add constraint FK_student_REFERENCE_classes foreign key (cla_id)
      references classes (cla_id)
      

/*==============================================================*/
/* Table: 课程                                                    */
/*==============================================================*/
create table course (
   cou_id                varchar(32)          not null,
   cou_name              varchar(32)          null,
   aca_id                varchar(32)          null,
   constraint PK_course primary key (cou_id)
)

insert into course values('cou001','数据结构','a001')
insert into course values('cou002','C语言','a001')
insert into course values('cou003','JAVA语言','a001')

alter table course
   add constraint FK_course_REFERENCE_academy foreign key (aca_id)
      references academy (aca_id)


/*==============================================================*/
/* Table: 学期                                                    */
/*==============================================================*/
create table term (
   term_id                varchar(32)             not null,
   term_name                   varchar(32)             null,
   constraint PK_term primary key (term_id)
)
insert into term values('t001','学期1')

/*==============================================================*/
/* Table: 课堂                                                    */
/*==============================================================*/
create table classroom (
   cla_room_id           varchar(32)         not null, 
   description			 varchar(255)        not null,	
   cla_time              varchar(32)         null,
   place                 varchar(10)         null,
   tea_id                varchar(32)         null,
   cou_id                varchar(32)         null,
   term_id               varchar(32)         null,
   constraint PK_class_room primary key (cla_room_id)
)
insert into classroom values('c_r001','李老师带的数据结构课堂','周四三四节','J1-101','t001','cou001','t001')
insert into classroom values('c_r002','李老师带的C语言课堂','周三一二节','J2-101','t001','cou002','t001')
insert into classroom values('c_r003','关老师带的JAVA课堂','周一 5,6节','J2-101','t002','cou002','t001')

alter table classroom
   add constraint FK_classroom_REFERENCE_term foreign key (term_ID)
      references term (term_ID)

alter table classroom
   add constraint FK_classroom_REFERENCE_course foreign key (cou_id)
      references course (cou_id)

alter table classroom
   add constraint FK_classroom_REFERENCE_teacher foreign key (tea_ID)
      references teacher (tea_ID)


/*==============================================================*/
/* Table: 班级-课堂                                           */
/*==============================================================*/
create table classes_classroom(
  	proxy_id				  	varchar(32)			not null,
   	cla_room_id           		varchar(32)         not null, 
   	cla_id                  	varchar(32)         not null,
   	constraint PK_stu_classroom primary key (proxy_id)	
)

alter table classes_classroom
   add constraint FK_classes_classroom_REFERENCE_classroom foreign key (cla_room_id)
      references classroom (cla_room_id)

alter table classes_classroom
   add constraint FK_classes_classroom_REFERENCE_classes foreign key (cla_id)
      references classes(cla_id)


/*==============================================================*/
/* Table: "学生-课堂"                                               */
/*==============================================================*/
create table stu_classroom(
   proxy_id				  varchar(32)			not null,		 
   stu_id                 varchar(32)           not null,
   cla_room_id            varchar(32)           not null,
   cla_room_grade         char(10)              null,
   exper_grade            char(10)              null,
   exam_grade             char(10)              null,
   finally_grade          char(10)              null,
   constraint PK_stu_classroom primary key (proxy_id)
)
insert into stu_classroom values('proxy001','s001','c_r001','100','100','100','100')
insert into stu_classroom values('proxy002','s002','c_r001','100','100','100','100')
insert into stu_classroom values('proxy003','s003','c_r001','100','100','100','100')
insert into stu_classroom values('proxy004','s004','c_r001','100','100','100','100')
insert into stu_classroom values('proxy005','s005','c_r001','100','100','100','100')
insert into stu_classroom values('proxy006','s006','c_r001','100','100','100','100')
insert into stu_classroom values('proxy007','s007','c_r001','100','100','100','100')
insert into stu_classroom values('proxy008','s008','c_r001','100','100','100','100')
insert into stu_classroom values('proxy009','s009','c_r001','100','100','100','100')
insert into stu_classroom values('proxy010','s010','c_r001','100','100','100','100')
insert into stu_classroom values('proxy011','s011','c_r001','100','100','100','100')
insert into stu_classroom values('proxy012','s012','c_r001','100','100','100','100')
insert into stu_classroom values('proxy013','s013','c_r001','100','100','100','100')
insert into stu_classroom values('proxy014','s014','c_r001','100','100','100','100')
insert into stu_classroom values('proxy015','s015','c_r001','100','100','100','100')


insert into stu_classroom values('proxy016','s001','c_r002','100','100','100','100')
insert into stu_classroom values('proxy017','s002','c_r002','100','100','100','100')
insert into stu_classroom values('proxy018','s003','c_r002','100','100','100','100')
insert into stu_classroom values('proxy019','s004','c_r002','100','100','100','100')
insert into stu_classroom values('proxy020','s005','c_r002','100','100','100','100')
insert into stu_classroom values('proxy021','s006','c_r002','100','100','100','100')
insert into stu_classroom values('proxy022','s007','c_r002','100','100','100','100')
insert into stu_classroom values('proxy023','s008','c_r002','100','100','100','100')
insert into stu_classroom values('proxy024','s009','c_r002','100','100','100','100')
insert into stu_classroom values('proxy025','s010','c_r002','100','100','100','100')
insert into stu_classroom values('proxy026','s011','c_r002','100','100','100','100')
insert into stu_classroom values('proxy027','s012','c_r002','100','100','100','100')
insert into stu_classroom values('proxy028','s013','c_r002','100','100','100','100')
insert into stu_classroom values('proxy029','s014','c_r002','100','100','100','100')
insert into stu_classroom values('proxy030','s015','c_r002','100','100','100','100')



alter table stu_classroom
   add constraint FK_stu_classroom_REFERENCE_student foreign key (stu_id)
      references student (stu_id)

alter table stu_classroom
   add constraint FK_stu_classroom_REFERENCE_classroom foreign key (cla_room_id)
      references classroom (cla_room_id)

/*==============================================================*/
/* Table: 知识点                                                   */
/*==============================================================*/
create table keyword(
   key_id               varchar(32)         not null,
   key_name				varchar(32)			not null,	
   cou_id               varchar(32)        null,
   constraint PK_keyword primary key (key_id)
)
delete from keyword 

insert into keyword values('kw001', '二叉树','cou001')
insert into keyword values('kw002', '链表','cou001')
insert into keyword values('kw003', '图','cou001')
insert into keyword values('kw004', '哈夫曼树','cou001')
insert into keyword values('kw005', '线性表','cou001')
insert into keyword values('kw006', '堆栈','cou001')
insert into keyword values('kw007', '综合','cou001')

insert into keyword values('kw008', '指针','cou002')
insert into keyword values('kw009', '数组','cou002')
insert into keyword values('kw010', '枚举','cou002')
insert into keyword values('kw011', '语法','cou002')
insert into keyword values('kw012', '综合','cou002')

insert into keyword values('kw013', '集合类','cou003')
insert into keyword values('kw014', '流','cou003')
insert into keyword values('kw015', '多态','cou003')
insert into keyword values('kw016', '继承','cou003')

alter table keyword
   add constraint FK_keyword_REFERENCE_course foreign key (cou_id)
      references course (cou_id)


/*==============================================================*/
/* Table: 题目                                                    */
/*==============================================================*/
create table exercise (
   exercise_id         		varchar(32) 	    not null,
   exer_description			varchar(32)  		null,
   exer_content				varchar(255)		not null,			
   exer_type            	varchar(10)         null,
   exer_diff            	varchar(10)         null,
   exer_writetime       	varchar(32)			null, 
   exer_reference_result    varchar(255)        null,
   cou_id					varchar(32)			null,
   key_id					varchar(32)   		null, 
   constraint PK_exercise primary key (exercise_id)
)

drop table exercise
insert into exercise values('e001','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw001')
insert into exercise values('e002','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw001')
insert into exercise values('e003','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw001')
insert into exercise values('e004','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw001')

insert into exercise values('e005','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw002')
insert into exercise values('e006','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw002')
insert into exercise values('e007','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw002')
insert into exercise values('e008','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw002')

insert into exercise values('e009','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw003')
insert into exercise values('e010','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw003')
insert into exercise values('e011','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw003')
insert into exercise values('e012','这是习题描述','这是习题的内容','单选题','简单','2008-4-16','a','cou001','kw003')


alter table exercise
   add constraint FK_exercise_REFERENCE_course foreign key (cou_id)
      references course (cou_id)

alter table exercise
   add constraint FK_exercise_REFERENCE_keyword foreign key (key_id)
      references keyword (key_id)

/*=============连接查询==============
select * from teacher as t,classroom as cl,course as co where  t.tea_id = "t001"
and cl.tea_id = t.tea_id and cl.cou_id = co.cou_id 
/*====================================
select * from teacher as t,classroom as cl,course as co where  t.tea_id = 't001' and cl.tea_id = t.tea_id and cl.cou_id = co.cou_id


select * from exercise  as e where e.exer_type = '单选题' and e.exer_diff = '简单' and e.cou_id = 'cou001' and 1=1


   
时间:2008-05-09
影射文件中你的claRoomId字段类型是 <generator class="increment" />标识符生成器,为自动生成代理并为自增型,而该字段是String,不能使用increment,所以你也不能set了.
   
0 请登录后投票
论坛首页 Java版 Hibernate

跳转论坛: