我用Hibernate 来操作MYSQL数据库
数据库 主键ID字段 是自动编号的
本来 用SQL语句 是
insert into *** valuse(null,'**','**','**','**')
可是 用hibernate 来传递null值 就是不行啊 咋整都是错
哎,真是烦恼死了~!!!
呵呵,改一下HBM文件,把主键那里这样写:
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id>
然后对ID字段就不用赋值了。
natvie表示由数据库去产生主键。
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native" />
</id>
然后对ID字段就不用赋值了。
natvie表示由数据库去产生主键。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2007-11-26
你用hibernate怎么还用SQL语句呢?你不用对象?
用对象的话你就不用给ID设值了,你如果非要用SQL,那么你试试把ID值设为'',如 insert into *** values ('','**'...)或者把ID值去掉看看insert into(a,b,c) *** values('***','***','***')
不过建议你用hibernate的对象,很好用的
用对象的话你就不用给ID设值了,你如果非要用SQL,那么你试试把ID值设为'',如 insert into *** values ('','**'...)或者把ID值去掉看看insert into(a,b,c) *** values('***','***','***')
不过建议你用hibernate的对象,很好用的
第2个回答 2007-11-26
是不是你的数据库里面设置了该属性是非空的,还是该属性是主键,不能为空??