各位高手帮帮忙:
我使用postgresql+Spring+Hibernate开发,在Hibernate中mapping id的时候使用:
<id name="id" column="col_id">
<generator class="native"/>
</id>
可是主键不能自动增长,insert的时候总是提示col_id不能为空,可是同样的配置文件在使用mysql的时候就没有这个问题。这是为什么啊?
我使用postgresql+Spring+Hibernate开发,在Hibernate中mapping id的时候使用:
<id name="id" column="col_id">
<generator class="native"/>
</id>
可是主键不能自动增长,insert的时候总是提示col_id不能为空,可是同样的配置文件在使用mysql的时候就没有这个问题。这是为什么啊?
解决方案 »
- 怎么查询 mysql 有没有文件读写的权限
- 求牛人大神指教一下windows平台下mychem的编译和如何加入到mysql上
- mysql数据库SHOW processlist锁表的问题
- mysql中文检索
- 求一SQL语句,谢谢了
- 请教个MYSQL数据库查询语句问题
- 菜鸟问题:mySql 的默认账号/密码是什么?
- to excel
- 我是新手,请问我安装好mysql后,下一步改怎样操作?怎样建立数据库?以及我的默认超级用户名是什么?
- 求解mysq报错
- Struts+Mysql错误 问题困扰了好几天了。
- AS4 MySQL RPM 安装,在init.d中的 mysql.server为啥不能在AS4重新启动的时候启动mysql?
MYSQL 这条语句是合法的 INSERT INTO (ID,XXX) VALUES (NULL,XXX)
但在PG是不合法的,必须改为 INSERT INTO (XXX) VALUES (XXX)
所以在Hibernate中你的要将ID设为不可更新的(没用过,不知道能否?),以便产生以上的SQL语句。
配置自动增长 为 identity 类型的 <generator class="identity"/>
<column name="id" />
<generator class="sequence">
<param name="sequence">xxx_id_seq</param>
</generator>
</id>数据库中用serial