首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate +多对多+ bag +映射表

NHibernate +多对多+ bag +映射表
EN

Stack Overflow用户
提问于 2011-08-23 03:30:36
回答 1查看 418关注 0票数 0

我有以下3节课。

代码语言:javascript
复制
BusinessStream
Scheme
Bus_Stream_Scheme_Map

当我尝试执行transaction.Commit()方法时,在对BusinessStream执行session.SaveOrUpdate()之后,我得到以下错误:

无法在("DBO"."BUS_STREAM_SCHEME_MAP"."BUS_STREAM_SCHEME_MAP_ID")中插入NULL

HBM文件,

BusienssStream

代码语言:javascript
复制
<class name="BusinessStream" table="BUS_STREAM">
<id name="Id" column="BS_ID" type="Int32" >
  <generator class="sequence">
    <param name="sequence">BUS_STREAM_SEQ</param>
  </generator>
</id>
<property name="Name" column="Name" type="String"/>
<property name="Description" column="Description" type="String"/>
<bag name="Schemes" table="BUS_STREAM_SCHEME_MAP" lazy="false">
  <key column="BUS_STREAM_ID"></key>
  <many-to-many class="Scheme" column="SCHEME_ID"></many-to-many>
</bag>

</class>

方案

代码语言:javascript
复制
<class name="Scheme" table="SCHEME_DEF">
    <id name="Id">
     <column name="SCHEME_ID"/>
     <generator class="native">
          <param name="sequence">SCHEME_DEF_SEQ</param>
     </generator>
</id>
    <property name="Description" column="SCHEME_DESC" type="String"/>
</class>

BusinessStream_Scheme_Map

代码语言:javascript
复制
<class name="BusinessStreamSchemeMapping" table="BUS_STREAM_SCHEME_MAP">
<id name="Id">
  <column name="BUS_STREAM_SCHEME_MAP_ID"/>
  <generator class="native">
    <param name="sequence">BUS_STREAM_SCHEME_MAP_SEQ</param>
  </generator>
</id>
</class>

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2011-08-23 03:38:23

这只是一个猜测,但是如果您将BUS_STREAM_SCHEME_MAP_ID设置为自动递增字段,它是否有效?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7152552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档