实体对象:Employee.java:
public class Employee {
private Integer e_id;
private String e_name;
private String e_email;
getters();....
setters();....
}
对象关系映射文件:Employee.hbm.xml
<hibernate-mapping package="com.zmj.domain">
<class name="Employee" table="employee">
<id name="e_id" column="e_id" type="java.lang.Integer">
<generator class="native"></generator>
</id>
<property name="e_name" column="e_name" type="java.lang.String"/>
<property name="e_email" column="e_email" type="java.lang.String"/>
</class>
</hibernate-mapping>
sqlserver建表语句:
create table employee(
e_id integer primary key,
e_name varchar(64),
e_email varchar(64),
)
增加一条记录,测试代码:
Employee e = new Employee();
e.setE_email("aa@163.com");
e.setE_name("aa");
e.setE_id(1);
session.save(e);
transaction.commit();
session.close();
报错:
Hibernate: insert into employee (e_name, e_email) values (?, ?) select scope_identity()
Exception in thread "main" org.hibernate.exception.GenericJDBCException: could not insert: [com.zmj.domain.Employee]
...
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]无法将 NULL 值插入列 'e_id',表 'sshTest1.dbo.employee';该列不允许空值。INSERT 失败。
我是新手,请大家帮帮忙,谢谢了。
hibernate Hibernate