我花了很多时间。我输了。 我从XML读取程序并使用主键'id'将其反序列化为Object。但是使用'SaveOrUpdate'和'Save'方法不能将数据插入到数据库中。 和Log4Net没有错误。没有插入日志。没有例外。 有人帮助我。
今天我尝试在表中添加一个主键'HotelId',它的身份和功能。 如何在没有额外主键的情况下使其工作。 因为XML中的id是唯一的。所以我不想添加额外的主键。
fllowing是* .hbm.xml
的一部分 <id name="id" column="id" type="string" >
<generator class="assigned"/>
</id>
<property name="dateUpdated" column="dateUpdated" type="DateTime" />
<property name="name" column="name" type="string" />
<property name="address" column="address" type="string" />
<property name="zip" column="zip" type="string" />
虽然我没有在XML中添加额外的主要内容,但它的工作原理如下:
<id name="Id" column="HotelId" type="int" unsaved-value="0" >
<generator class="native"/>
</id>
<property name="id" column="id" type="string" />
<property name="dateUpdated" column="dateUpdated" type="DateTime" />
<property name="name" column="name" type="string" />
<property name="address" column="address" type="string" />
<property name="zip" column="zip" type="string" />
答案 0 :(得分:0)
我的水晶球告诉我你不要使用transactions.Commit();
或session.Flush();
来告诉你已完成工作的会话,并希望这些更改保持不变。我希望它没有被打破