Hibernate中should be mapped with insert="false" update="false"错误
Project是一个基础类,begin是一个java.sql.Date类型的属性,Project.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.hbucc.research.objects">
<class name="Project" table="project" lazy="false">
<id name="projectid" column="projectid" type="long">
<generator class="increment"/>
</id>
<property name="projectname" column="projectname" type="string" not-null="true"/>
<property name="begin" column="begin" type="date"/>
<property name="end" column="begin" type="date"/>
<property name="amount" column="amount" type="int" not-null="true"/>
<property name="validate" column="validate" type="boolean" not-null="true"/>
<many-to-one name="teacher" column="teacherid" class="com.hbucc.research.objects.Teacher" not-null="true"/>
<many-to-one name="tasksource" column="tasksourceid" class="com.hbucc.research.objects.TaskSource" not-null="true"/>
<many-to-one name="institute" column="instituteid" class="com.hbucc.research.objects.Institute" not-null="true"/>
</class>
</hibernate-mapping>
运行时确总让加上insert="false" update="false",出错如下:
org.hibernate.MappingException: Repeated column in mapping for entity: com.hbucc.research.objects.Project column: begin (should be mapped with insert="false" update="false")
at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:575)
at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:597)
at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:615)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:405)
at org.hibernate.mapping.RootClass.validate(RootClass.java:192)
at org.hibernate.cfg.Configuration.validate(Configuration.java:984)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1169)
at com.hbucc.research.businesslogic.BusinessLogic.<clinit>(BusinessLogic.java:33)
at com.hbucc.research.struts.loginAction.execute(loginAction.java:22)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
问题点数:20、回复次数:5Top
1 楼aChinese(一个中国人)回复于 2006-07-28 00:24:31 得分 0
重复映射了, 其中一个应该只 insert=false, update=falseTop
2 楼ptest(Java的天空@@我型我秀!)回复于 2006-07-28 09:11:27 得分 20
<property name="begin" column="begin" type="date"/>
<property name="end" column="begin" type="date"/>
这两个属性为什么对应一行
是不是要改一下Top
3 楼EA_FIFA()回复于 2006-07-28 09:50:29 得分 0
真是粗心,多谢楼上的提醒我,现在可以了Top
4 楼letle()回复于 2007-01-15 11:15:07 得分 0
受用了Top
5 楼nanfengbai()回复于 2007-01-18 17:51:16 得分 0
走过 受用Top




