请教 hibernate 多对一的问题

sulee27661 2009-08-18 11:16:33
=================================产品===============================================
<class name="com.sk.item.domain.Item" table="ITEM" schema="dbo" catalog="SK">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="identity" />
</id>
<property name="itemName" type="java.lang.String">
<column name="ITEM_NAME" length="100" />
</property>
<property name="typeid" type="java.lang.Integer">
<column name="TYPEID" not-null="true" />
</property>
<property name="flag" type="java.lang.Integer">
<column name="FLAG" />
</property>
<property name="crtuser" type="java.lang.String">
<column name="CRTUSER" length="50" />
</property>
<property name="crtdate" type="java.util.Date">
<column name="CRTDATE" length="23" />
</property>
<property name="upduser" type="java.lang.String">
<column name="UPDUSER" length="50" />
</property>
<property name="upddate" type="java.util.Date">
<column name="UPDDATE" length="23" />
</property>

<!-- 与类别的关系 多对一 -->
<many-to-one name="category" class="com.sk.category.domain.Category" fetch="join" cascade="none" lazy="false" >
<column name="typeid" ></column>
</many-to-one>
</class>

========================================类别==========================
<class name="com.sk.category.domain.Category" table="CATEGORY" schema="dbo" catalog="SK">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="identity" />
</id>
<property name="type1" type="java.lang.String">
<column name="TYPE1" length="50" />
</property>
<property name="type2" type="java.lang.String">
<column name="TYPE2" length="50" />
</property>
<property name="type3" type="java.lang.String">
<column name="TYPE3" length="50" />
</property>
<property name="flag" type="java.lang.Integer">
<column name="FLAG" length="10" />
</property>
<property name="crtuser" type="java.lang.String">
<column name="CRTUSER" length="50" />
</property>
<property name="crtdate" type="java.util.Date">
<column name="CRTDATE" length="23" />
</property>
<property name="upduser" type="java.lang.String">
<column name="UPDUSER" length="50" />
</property>
<property name="upddate" type="java.util.Date">
<column name="UPDDATE" length="23" />
</property>
<set name="item" inverse="false" fetch="join" lazy="true">
<key>
<column name="typeid" />
</key>
<one-to-many class="com.sk.item.domain.Item" />
</set>
</class>




这2张表 在数据库中没有设置任何的关系

在页面中根据产品 可以查询出 该产品的所属类别

但是在update的时候 会出现字段重复的异常 如果把关系去掉的话update是没有任何问题的 ,但是就不能与类别去关联了

org.springframework.jdbc.UncategorizedSQLException: Hibernate flushing: could not update: [com.sk.item.domain.Item#1]; uncategorized SQLException for SQL [update SK.dbo.ITEM set ITEM_NAME=?, TYPEID=?, FLAG=?, CRTUSER=?, CRTDATE=?, UPDUSER=?, UPDDATE=?, typeid=? where ID=?]; SQL state [HY000]; error code [264]; [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在结果列的列表中多次出现列名 'typeid'。; nested exception is java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]在结果列的列表中多次出现列名 'typeid'。

...全文
59 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ThirstyCrow 2009-08-18
  • 打赏
  • 举报
回复
把这一段删掉:
<property name="typeid" type="java.lang.Integer">
<column name="TYPEID" not-null="true" />
</property>
zhaoyunrui 2009-08-18
  • 打赏
  • 举报
回复
修改时要先做一次查询.在做相应的修改操作.....

或者写个事务来统一一次

81,092

社区成员

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

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