表是many-to-one的
在Action中,
SchoolsForm schoolsForm = (SchoolsForm) form;
SchSchool sc=new SchSchool();
我要把sc.setSchUnit(schoolsForm.getXXDM());
在这里setSchUnit会出错。。因为setSchUnit的类型在的那里AbstractSchSchool这里是private SchUnit schUnit;这种类型的,
而schoolsForm.getXXDM()是String类型的,,一放下去就错了,。。
高手们帮帮忙555
映射文件也发出来看看吧
<hibernate-mapping>
<class name="hibernates.SchSchool" table="SCH_SCHOOL" schema="dbo" catalog="schools">
<id name="schId" type="java.lang.String">
<column name="SCH_ID" length="32" />
<generator class="assigned" />
</id>
<many-to-one name="dmYxsbb" class="hibernates.DmYxsbb" fetch="select">
<column name="YXSBBM" length="1" />
</many-to-one>
<many-to-one name="schUnit" class="hibernates.SchUnit" fetch="select"> 就是这里了。
<column name="XXDM" length="5" />
</many-to-one>
<many-to-one name="dmYxslb" class="hibernates.DmYxslb" fetch="select">
<column name="YXSLBM" length="1" />
</many-to-one>
<property name="schName" type="java.lang.String">
<column name="SCH_NAME" length="60" not-null="true" />
</property>
<property name="yxsywmc" type="java.lang.String">
<column name="YXSYWMC" length="180" />
</property>
<property name="yxsjc" type="java.lang.String">
<column name="YXSJC" length="20" />
</property>
<property name="jlny" type="java.lang.String">
<column name="JLNY" length="6" />
</property>
<property name="xzfzr" type="java.lang.String">
<column name="XZFZR" length="30" />
</property>
<property name="dwfzr" type="java.lang.String">
<column name="DWFZR" length="30" />
</property>
<set name="schClasses" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.SchClass" />
</set>
<set name="eduClassSets" inverse="true">
<key>
<column name="SCH_ID" length="32" />
</key>
<one-to-many class="hibernates.EduClassSet" />
</set>
<set name="tchTeachers" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.TchTeacher" />
</set>
<set name="pubSchTerms" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.PubSchTerm" />
</set>
<set name="stuStudents" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.StuStudent" />
</set>
<set name="schZxsjs" inverse="true">
<key>
<column name="SCH_ID" length="32" />
</key>
<one-to-many class="hibernates.SchZxsj" />
</set>
<set name="schZies" inverse="true">
<key>
<column name="SCH_ID" length="32" />
</key>
<one-to-many class="hibernates.SchZy" />
</set>
<set name="schSubjectTeams" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.SchSubjectTeam" />
</set>
<set name="sysSchRoles" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.SysSchRole" />
</set>
</class>
</hibernate-mapping>
在Action中,
SchoolsForm schoolsForm = (SchoolsForm) form;
SchSchool sc=new SchSchool();
我要把sc.setSchUnit(schoolsForm.getXXDM());
在这里setSchUnit会出错。。因为setSchUnit的类型在的那里AbstractSchSchool这里是private SchUnit schUnit;这种类型的,
而schoolsForm.getXXDM()是String类型的,,一放下去就错了,。。
高手们帮帮忙555
映射文件也发出来看看吧
<hibernate-mapping>
<class name="hibernates.SchSchool" table="SCH_SCHOOL" schema="dbo" catalog="schools">
<id name="schId" type="java.lang.String">
<column name="SCH_ID" length="32" />
<generator class="assigned" />
</id>
<many-to-one name="dmYxsbb" class="hibernates.DmYxsbb" fetch="select">
<column name="YXSBBM" length="1" />
</many-to-one>
<many-to-one name="schUnit" class="hibernates.SchUnit" fetch="select"> 就是这里了。
<column name="XXDM" length="5" />
</many-to-one>
<many-to-one name="dmYxslb" class="hibernates.DmYxslb" fetch="select">
<column name="YXSLBM" length="1" />
</many-to-one>
<property name="schName" type="java.lang.String">
<column name="SCH_NAME" length="60" not-null="true" />
</property>
<property name="yxsywmc" type="java.lang.String">
<column name="YXSYWMC" length="180" />
</property>
<property name="yxsjc" type="java.lang.String">
<column name="YXSJC" length="20" />
</property>
<property name="jlny" type="java.lang.String">
<column name="JLNY" length="6" />
</property>
<property name="xzfzr" type="java.lang.String">
<column name="XZFZR" length="30" />
</property>
<property name="dwfzr" type="java.lang.String">
<column name="DWFZR" length="30" />
</property>
<set name="schClasses" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.SchClass" />
</set>
<set name="eduClassSets" inverse="true">
<key>
<column name="SCH_ID" length="32" />
</key>
<one-to-many class="hibernates.EduClassSet" />
</set>
<set name="tchTeachers" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.TchTeacher" />
</set>
<set name="pubSchTerms" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.PubSchTerm" />
</set>
<set name="stuStudents" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.StuStudent" />
</set>
<set name="schZxsjs" inverse="true">
<key>
<column name="SCH_ID" length="32" />
</key>
<one-to-many class="hibernates.SchZxsj" />
</set>
<set name="schZies" inverse="true">
<key>
<column name="SCH_ID" length="32" />
</key>
<one-to-many class="hibernates.SchZy" />
</set>
<set name="schSubjectTeams" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.SchSubjectTeam" />
</set>
<set name="sysSchRoles" inverse="true">
<key>
<column name="SCH_ID" length="32" not-null="true" />
</key>
<one-to-many class="hibernates.SysSchRole" />
</set>
</class>
</hibernate-mapping>
解决方案 »
- Socket怎么才能定时不停发送数据呢?
- 大家来看看这道题的结果
- 在JPanel上增加了键盘监听事件,不过不响应,不知道为什么?
- Java Platform, Standard Edition 6 Beta Coming 征求相关实践文章与大家分享
- 请问如何把一个CLASS文件制作成一个双击就可以执行的文件,还有就是在其他人机子上没有JRE也能运行~~谢谢
- import javax.mail.*; 这个类库引入就出错,难道我的类库缺了东西?
- 小问题,老鸟们花几秒钟来看看了!
- 保存对话框的问题
- 怎么归档自己的包!
- JAVA8 中的一个文件IO问题
- 关于Jtable的问题
- 问个关于接口的基础问题。。。
SchUnit n = new SchUnit();
n.setXXX(from.getXXX());
sc.setSchUnit(n);
SchUnit n = new SchUnit();
n.setXXX(from.getXXX());
sc.setSchUnit(n);
直接把n放到sc.setSchUnit这里的只会把地址传过去而已,,而我在控制台打n也只会打出hibernates.SchUnit@f889c8,
再次指教
你可以打印n.getXXX()就会出n的属性了
SchUnit n = new SchUnit();
n.setXXX(from.getXXX());
sc.setSchUnit(n);
但是如果我把n.getXXX放到sc.setSchUnit()就会出错啊,,如果只放个n又接不到from.getXXX()里的值。
怎么做呢,各位老大们
n.setXXX(from.getXXX());
sc.setSchUnit(n);
不知道你做了关联操作没有,你想以那张表为主呀,不明白,如果就是当前的这张表了
<hibernate-mapping>
<class name="hibernates.SchSchool" table="SCH_SCHOOL" schema="dbo" catalog="schools" cascade="all">
加上这么一句话“cascade="all"”应该就可以把两张表的数据都加进去了
<column name="XXDM" length="5" />
我加错了