首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

hibernate报错,该如何解决

2013-08-04 
hibernate报错错误如下:org.hibernate.exception.ConstraintViolationException: could not insert: [orm.

hibernate报错
错误如下:
org.hibernate.exception.ConstraintViolationException: could not insert: [orm.Userinfo]
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43

Userinfo.hbm.xml代码:

<hibernate-mapping>
    <class name="orm.Userinfo" table="Userinfo" schema="dbo" catalog="woniu">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="native" />
        </id>
        <property name="username" type="java.lang.String">
            <column name="username" length="50" not-null="true" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="password" length="50" not-null="true" />
        </property>
        <property name="age" type="java.lang.Integer">
            <column name="age" />
        </property>
    </class>
</hibernate-mapping>


Insert.java代码:
package controller;

import orm.Userinfo;
import orm.UserinfoDAO;

public class Insert {

public String execute(){
Userinfo userinfo = new Userinfo();
userinfo.setUsername("woniu");
userinfo.setPassword("000123");
userinfo.setAge(10);


UserinfoDAO userinfoDAO = new UserinfoDAO();
userinfoDAO.getSession().beginTransaction();
userinfoDAO.attachDirty(userinfo);
userinfoDAO.getSession().getTransaction().commit();
userinfoDAO.getSession().close();
return "";

}
}
Hibernate Java


[解决办法]
id应该没生成
[解决办法]
违反了约束条件,看看你的数据库定义了什么约束;
或者你先直接用sql执行看看会不会报错,报什么错
[解决办法]
主键方面可能有些小问题,给你个链接,这个参考下吧http://blog.csdn.net/badyflf/article/details/8093342
[解决办法]
如果使用的是oracle数据库,必须创建一个名为 hibernate_sequence的序列

热点排行