2012-02-25 137 views
0

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

22462 [HTTP-8080-2] WARN org.hibernate.util.JDBCExceptionReporter - SQL错误:0,SQLSTATE:空 22462 [HTTP-8080-2] ERROR org.hibernate.util.JDBCExceptionReporter - 失败批次 22462 [http-8080-2] ERROR org.hibernate.event.def.AbstractFlushingEventListener - 无法使数据库状态与会话同步

+0

可能的重复-http://stackoverflow.com/questions/3820452/hibernate-could-not-synchronize-database-state-with-session – Rocky 2012-02-25 05:08:27

回答

1

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