我正在使用jpa开发游戏框架,我有一个具有唯一约束的字段,在"尝试"为了持久化具有重复值的实体,框架显示如下错误页面:
https://wissel.net/blog/2017/04/from-blogsphere-to-a-static-site-part-2-cleaning-up-the-html.html
当我试图抓住这个例外......
try{
JPA.em().persist(nArtist);
}catch(Exception e){
form.reject("username","user already exist");
return badRequest(create_artist.render(form));
}
该页面仍显示消息...(我已尝试使用回滚异常)。
Pdta:JPA.em()是我唯一一次打电话给他们。
答案 0 :(得分:0)
EntityManager.persist
的调用确实不保证更改立即刷新到数据库(这将是出现约束违规的点)。如果您想强制刷新,请在EntityManager.flush
persist
java.lang.Exception
。在持续时间从持久层抛出的异常可能意味着比你之后的特定约束违规更多的东西