我配置了opensessioninview 都生效了但是获取set的时候报错了

l475021377 2010-03-17 09:24:39
parents 类
<?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="com.wj.dao.pojo.Parents" table="PARENTS" schema="jxq">
<id name="parentsid" type="java.lang.Long">
<column name="PARENTSID" precision="12" scale="0" />
<generator class="increment" />
</id>
<many-to-one name="users" class="com.wj.dao.pojo.Users" fetch="select">
<column name="USREID" precision="12" scale="0" />
</many-to-one>
<property name="content" type="java.lang.String">
<column name="CONTENT" length="4000" />
</property>
<property name="isThrough" type="java.lang.Boolean">
<column name="IS_THROUGH" precision="1" scale="0" />
</property>
<property name="throughContent" type="java.lang.String">
<column name="THROUGH_CONTENT" length="200" />
</property>
<property name="datetime" type="java.sql.Timestamp">
<column name="DATETIME" length="7" />
</property>
<property name="throughDate" type="java.sql.Timestamp">
<column name="THROUGH_DATE" length="7" />
</property>
<set name="students" table="STUDENTTOPARENTS" cascade="all" inverse="true">
<key column="PARENTSID"/>
<many-to-many class="com.wj.dao.pojo.Student" column="STUDENTID"/>
</set>
</class>
</hibernate-mapping>



student类


<?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="com.wj.dao.pojo.Student" table="STUDENT" schema="jxq">
<id name="studentid" type="java.lang.Long">
<column name="STUDENTID" precision="12" scale="0" />
<generator class="increment" />
</id>
<many-to-one name="schooltable" class="com.wj.dao.pojo.Schooltable" fetch="select">
<column name="SCHOOLID" precision="12" scale="0" />
</many-to-one>
<many-to-one name="classTable" class="com.wj.dao.pojo.ClassTable" fetch="select">
<column name="CLASSID" precision="12" scale="0" />
</many-to-one>
<many-to-one name="users" class="com.wj.dao.pojo.Users" fetch="select">
<column name="USREID" precision="12" scale="0" />
</many-to-one>
<property name="studentname" type="java.lang.String">
<column name="STUDENTNAME" length="50" />
</property>
<set name="parentses" table="STUDENTTOPARENTS" cascade="all" inverse="true">
<key column="STUDENTID"/>
<many-to-many class="com.wj.dao.pojo.Parents" column="PARENTSID"/>
</set>
</class>
</hibernate-mapping>




在页面用parentse.students就报错了




错误如下



could not initialize a collection: [com.wj.dao.pojo.Parents.students#171]
错误类型:org.hibernate.exception.SQLGrammarException: could not initialize a collection: [com.wj.dao.pojo.Parents.students#171]
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.loadCollection(Loader.java:2001)
org.hibernate.loader.collection.BatchingCollectionInitializer.initialize(BatchingCollectionInitializer.java:52)
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
org.hibernate.collection.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:109)
org.hibernate.collection.PersistentSet.size(PersistentSet.java:139)
com.wj.web.struts.action.FindStudentByUserAction.execute(FindStudentByUserAction.java:81)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
com.wj.web.filter.EncodingFilter.doFilter(EncodingFilter.java:30)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
...全文
48 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jisi772864447 2010-03-17
  • 打赏
  • 举报
回复
据目测:2个set都配置了inverse。貌似不合理。只用配一端就行了吧。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧