Hibernate主键异常

时间:2012-02-25 05:02:43

标签: hibernate exception-handling primary-key

我使用hibernate在数据库中创建了一个表,其中一个属性(用户名)是主键。所以当我尝试在用户名中插入重复值时,我得到以下异常。现在我必须处理这个异常,以便提示用户“用户名已存在”。

22462 [http-8080-2] WARN org.hibernate.util.JDBCExceptionReporter - SQL错误:0,SQLState:null 22462 [http-8080-2]错误org.hibernate.util.JDBCExceptionReporter - 批处理失败 22462 [http-8080-2]错误org.hibernate.event.def.AbstractFlushingEventListener - 无法将数据库状态与会话同步

1 个答案:

答案 0 :(得分:1)

IMO,更好的方法是首先进行获取查询,即通过PK查找对象,如果返回非空对象,则可以向用户显示“重复条目”的错误消息,否则将记录插入数据库