这个问题有点2.前几天我用hibernate生成的DAO,对对象进行save,find的操作都可以实现.有个表是这样的Song(主键:songid,自动增长).在配置hibernate的时候也是设置的native.然后今天用hibernate生成的DAO,可以进行find操作,但是save怎么也save不进去.但是我发现save没成功,但是主键的值已经用掉了(比如最后一条记录的主键值是19,save一次,没有成功,但是它把20给占了,用sql 查询编辑器 insert 插入数据的主键就是21了).
用Session进行保存就可以保存进去.我就纳闷了,为什么DAO会保存不进去了?是什么原因.
用Session进行保存就可以保存进去.我就纳闷了,为什么DAO会保存不进去了?是什么原因.
<?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.geek.music.Song" table="Song" schema="dbo" catalog="Music">
<id name="songId" type="java.lang.Integer">
<column name="songID" />
<generator class="native" />
</id>
<property name="songName" type="java.lang.String">
<column name="songName" not-null="true" />
</property>
<property name="songSinger" type="java.lang.String">
<column name="songSinger" not-null="true" />
</property>
<property name="songUrl" type="java.lang.String">
<column name="songUrl" not-null="true" />
</property>
</class>
</hibernate-mapping>
用的是sqlserver2008...之间重装过一次系统..
自动生成的DAO方法不需要提交事务!在5天之前我试过!