hibernate 中为什么生成的 insert 语句总是少了一个 test_id 字段?
hibernate 中为什么生成的 insert 语句总是少了一个 test_id 字段?
<hibernate-mapping>
<class name="test" table="test">
<id name="id" type="int" unsaved-value="0">
<column name="test_id" sql-type="int" not-null="true"/>
<generator class="native"/>
</id>
<property name="name" type="string">
<column name="test_name" sql-type="string" length="100" not-null="true"/>
</property>
</class>
</hibernate-mapping>
自动生成的SQL:
insert into test (test_name) values (?) select scope_id entity()
然后驱动程序报错说 id must not null!
哪里配置错了?
是不是表的id字段一定要设为自增?那这兼容性也不是很好!
<hibernate-mapping>
<class name="test" table="test">
<id name="id" type="int" unsaved-value="0">
<column name="test_id" sql-type="int" not-null="true"/>
<generator class="native"/>
</id>
<property name="name" type="string">
<column name="test_name" sql-type="string" length="100" not-null="true"/>
</property>
</class>
</hibernate-mapping>
自动生成的SQL:
insert into test (test_name) values (?) select scope_id entity()
然后驱动程序报错说 id must not null!
哪里配置错了?
是不是表的id字段一定要设为自增?那这兼容性也不是很好!
...全文
相关推荐
Hibernate注解大全
### Hibernate注解详解#### 一、概述Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序中实现数据库操作。
hibernate增删改查方法
在Hibernate中,可以使用HQL(Hibernate Query Language)或原生SQL来进行查询。其中,HQL更接近于面向对象的查询语言,而原生SQL则可以直接使用SQL语句。
Hibernate
**生成银行卡号.java**这个文件名可能代表一个示例,说明如何在 Hibernate 中生成具有特定格式的银行账号。
Hibernate 调用存储过程
下面是一个示例配置文件,该文件定义了如何将`getUserInfo`存储过程的结果映射到`com.test.hibernate.db.User`类:```xml<?
hibernate方言汇总.docx和SSH的jar包名称
例如,某些数据库支持`LAST_INSERT_ID()`函数来获取最后插入行的ID,而其他数据库则可能不支持或使用不同的函数。


