日期:2014-05-18  浏览次数:20668 次

hibernate连接SqlServer2000的问题
本帖最后由 zhangmj10 于 2013-07-06 14:11:47 编辑
实体对象: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