为什么存用hibernate进去的时候Set是有值的,取出来确是空的

问题描述

<?xmlversion="1.0"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--Generated2015-1-3017:44:04byHibernateTools3.4.0.CR1--><hibernate-mapping><classname="com.fandy.beans.Student"table="student"><idname="id"type="java.lang.String"><columnname="id"/><generatorclass="uuid"/></id><propertyname="name"type="string"><columnname="name"/></property><propertyname="age"type="int"><columnname="age"/></property><many-to-onename="teacher"class="com.fandy.beans.Teacher"column="teacher_id"></many-to-one></class></hibernate-mapping><?xmlversion="1.0"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--Generated2015-1-3017:44:04byHibernateTools3.4.0.CR1--><hibernate-mapping><classname="com.fandy.beans.Teacher"table="teacher"><idname="id"type="java.lang.String"><columnname="id"/><generatorclass="uuid"/></id><propertyname="name"type="java.lang.String"><columnname="name"/></property><propertyname="age"type="int"><columnname="age"/></property><setname="student"cascade="all"inverse="true"fetch="join"><keycolumn="student_id"></key><one-to-manyclass="com.fandy.beans.Student"/></set></class></hibernate-mapping>packagecom.fandy.main;importjava.util.HashSet;importjava.util.Iterator;importjava.util.Set;importorg.hibernate.Session;importorg.hibernate.Transaction;importorg.hibernate.cfg.Configuration;importorg.hibernate.tool.hbm2ddl.SchemaExport;importcom.fandy.beans.Student;importcom.fandy.beans.Teacher;importcom.fandy.util.Tools;publicclassTest{publicstaticvoidmain(String[]args){//Configurationcf=newConfiguration().configure();//SchemaExportse=newSchemaExport(cf);//se.create(true,true);////Students1=newStudent();//Students2=newStudent();//Students3=newStudent();//Students4=newStudent();//Students5=newStudent();//Students6=newStudent();////s1.setName("hello");//s1.setAge(15);////s2.setName("world");//s2.setAge(18);////s3.setName("wel");//s3.setAge(20);////s4.setName("come");//s4.setAge(19);////s5.setName("fandy");//s5.setAge(17);////s6.setName("chen");//s6.setAge(16);////Teachert1=newTeacher();//Teachert2=newTeacher();////t1.setName("Zhang");//t1.setAge(28);//t1.setStudent(newHashSet<Student>());////t2.setName("Wang");//t2.setAge(30);//t2.setStudent(newHashSet<Student>());////s1.setTeacher(t1);//s2.setTeacher(t1);//s3.setTeacher(t1);//////s4.setTeacher(t2);//s5.setTeacher(t2);//s6.setTeacher(t2);////t1.getStudent().add(s1);//t1.getStudent().add(s2);//t1.getStudent().add(s3);////t2.getStudent().add(s4);//t2.getStudent().add(s5);//t2.getStudent().add(s6);Sessionsession=Tools.openSession();Transactiontx=session.beginTransaction();;Teachertt=null;try{tt=(Teacher)session.get(Teacher.class,newString("297ed0d04b3b2596014b3b26a7820005"));//session.save(t1);//session.save(t2);Set<Student>set=tt.getStudent();for(Iterator<Student>iter=set.iterator();iter.hasNext();){Students=(Student)iter.next();System.out.println(s.getName());}//System.out.println(tt.getName());tx.commit();}catch(Exceptione){if(null!=tx){tx.rollback();}e.printStackTrace();}finally{Tools.closeSession();}}}

解决方案

解决方案二:
几天没人吊我,还好自己搞定了,<?xmlversion="1.0"?><!DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!--Generated2015-1-3017:44:04byHibernateTools3.4.0.CR1--><hibernate-mapping><classname="com.fandy.beans.Teacher"table="teacher"><idname="id"type="java.lang.String"><columnname="id"/><generatorclass="uuid"/></id><propertyname="name"type="java.lang.String"><columnname="name"/></property><propertyname="age"type="int"><columnname="age"/></property><setname="student"cascade="save-update"inverse="true"><keycolumn="teacher_id"></key><one-to-manyclass="com.fandy.beans.Student"/></set></class></hibernate-mapping>

时间: 2024-07-28 20:10:49

为什么存用hibernate进去的时候Set是有值的,取出来确是空的的相关文章

字段类型为date,设置将当前的系统时间存入库中,但是存到库中的值 日期对,时间不对

问题描述 字段类型为date,设置将当前的系统时间存入库中,但是存到库中的值 日期对,时间不对在后台用这个给时间字段赋值Date curDate = new Date(System.currentTimeMillis());//获取当前时间 dto.setCreateTime(curDate);字段值:Thu Nov 03 13:34:46 CST 2011数据库中的值03-11月-11 12:00 :00 解决方案 存入数据库如果是当前时间的话,最好用数据库自带的函数,比如mysql就是sys

求助下,hibernate 能够设置,数据库字段有值,则不更新!

问题描述 求助下,hibernate能够设置,数据库字段有值,则不更新!急,谢谢各位. 解决方案 解决方案二:LZ想把数据库字段为null的字段改成想要的值?有值就不更新不晓得我理解是不是有问题get()-->判断,重新设置该字段值觉得还是LZ意思没表达清楚...解决方案三:嗯,就是这个意思,1.数据库为NUll则更新2.数据库不为NUll更不更新.如果数据库表有50个字段,每个字段都需要这样逻辑,每个去判断挺麻烦的解决方案四:期待解决方法解决方案五:引用2楼corejava999的回复: 嗯,

求助: Hibernate如何没有列名的存储过程返回值

问题描述 Hibernate如何没有列名的存储过程返回值.我在数据库(informix)里用存储过程读取数据并返回值,但都没有列名.然后用Hibernate的执行原生sql语句的方法读取:===========================================...StringsqlProc="{callproc('2')}";session.createSQLQuery(sqlProc).addEntity(MyMapping.class).list();...====

Spring整合Hibernate,取不到hibernateTemplate的值,求助!

问题描述 <hibernate-configuration><session-factory><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property><propertyname="connection.url">jdbc:mysql://localhost:3306/bbs</property><pro

hibernate取不到某个字段的值

问题描述 之前问过了这个问题没能解决,再发一遍,真心求帮助!!!!!!!!!!!!!!!! 很简单的一个测试:用Speak s = (Speak)session.get(Speak.class, 1);得到Speak对象之后,s.getAttachmentFlag()竟然取不到值,确切的说是取到的值为"":真要我小命!相关代码如下: 1.数据库中有speak表,speak表中有attachment_flag字段:2.attachment_flag字段的getter和setter方法hi

hibernate,关于在网页中取值的问题?

问题描述 在网页中,获取了一个User类的对象,用<s:property value="username" />可以取到user.username的值,可user还有一个Usergroup类的对象usergroup,该类下又包含groupid和groupname现在我想在网页中取到user中usergroup对象里的groupname的值,该怎样写? 解决方案 User类里必须有个UserGroup对象,在页面上通过struts2的OGNL表达式或取<s:proper

Hibernate中HQL语句查询指定字段值报错:ClassCastException: [java.lang.Object; cannot be cast to bean.PersonStatic

在有一次通过如下HQL语句进行查找相应字段时: String hql = "select sum(search),sum(geometry),sum(greedy), sum(graph),sum(number),sum(simulate),sum(combine),sum(structure) from PersonStatis ps where ps.ps_date>=? and ps.ps_date<?"; 通过Query中的方法list()返回一个List对象. 但

hibernate 修改数据时,修改前的值与修改中的值的比较

问题描述 我现在要对某条记录进行修改,在Serivce中,从action中传递过来了记录的实体,如代码:public void saveResource(Resc resource) {//要进行分开,A->是新增资源,B->修改资源 两种情况在刷新缓存情况不同boolean isNew = (resource.getResourceId() == null);String path = "";resourceDao.getSession().clear();resourc

Hibernate学习大全

第1课 课程内容. 6 第2课Hibernate UML图. 6 第3课 风格. 7 第4课 资源. 7 第5课 环境准备. 7 第6课 第一个示例HibernateHelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/RMapping 11 一.     定义:. 11 二.     Hibernate的创始人:. 11 三.     Hibernate做什么:. 12 四.     Hibernate存在的原因:. 12 五.     Hi