以前采用的是JTurbo连数据库,可现在这个东东收费了,旧版的又不支持SQL2005,只好找了个JDTS来与数据库链接,
可发现在新增数据的时候总是报错,经过我的摸索总结如下几点原因:
第一:请确认你的主键设置都是正确的
第二:配置
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
必须为
<property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>
否则在新增的时候报can't read hi value 的错误,搞的人非常郁闷
第三,一定要注意生成的映射文件的数据类型一定要匹配,好象JDTS里面对SQL SERVER2005里面的映射对应类型有些不一样,也一定要注意呀
如:
<property name="adminName" color="#ff0000" column="ADMIN_NAME"> type="string</property> " />
等等了,反正用的时候多注意,也顺便提醒自己了
发生的错误如下:
insert a public info
16:50:26,393 ERROR TableGenerator:104 - could not read a hi value
java.sql.SQLException: 第 1 行: 只有 DECLARE CURSOR 才允许使用 FOR UPDATE 子句。
16:50:26,403 WARN JDBCExceptionReporter:35 - Preparing the statement failed: 第
1 行: 只有 DECLARE CURSOR 才允许使用 FOR UPDATE 子句。
16:50:26,413 WARN JDBCExceptionReporter:57 - SQL Error: 1003, SQLState: S1000
16:50:26,413 ERROR JDBCExceptionReporter:58 - 第 1 行: 只有 DECLARE CURSOR 才允
许使用 FOR UPDATE 子句。