我正在尝试找出在执行插入时失败的实体的名称。在持久化异常中,我可以获得详细消息,因为org.hibernate.exception.ConstraintViolationException:无法插入: com.mycompany.car ,我能够检索实体的名称,但可以从该消息中检索
当我试图在另一个环境(使用spring )(持久化异常)中做同样的事情时,详细消息是不同的org.hibernate.exception.ConstraintViolationException:复制条目'OVCAR-3‘,用于键'citymst_un'。
我试过查看PersistenceExceptionTranslator,但找不到任何细节,是否有控制PersistenceException消息的设置?
发布于 2013-12-26 10:58:34
那不是环境问题。那是另一种例外。Spring除了将原始异常包装到DataAccessException之外什么也不做。因此,如果原始异常不包含描述性消息,那么我们很难对此做任何事情。我建议向Hibernate提交一个问题,以便将实体类型包含到抛出的ConstraintViolationException中。
要解决手头的问题:OVCAR-3和citymst_un是否没有足够的提示来找出哪些域类型不能持久存在?我是说,你可以从你使用的仓库里挖出来,不是吗?
https://stackoverflow.com/questions/20748036
复制相似问题