我试图找出插入时失败的实体的名称。 从persistnceexception我可以得到详细信息 org.hibernate.exception.ConstraintViolationException:无法插入:[com.mycompany.car] 我能够从这条消息中检索实体的名称
当我尝试在另一个环境(使用spring数据jpa)中执行相同的操作时,持久性异常,详细消息是不同的 org.hibernate.exception.ConstraintViolationException:键'citymst_un'的重复条目'OVCAR-3'
我试过看PersistenceExceptionTranslator但找不到任何细节 是否有任何设置可以控制PersistenceException的消息
答案 0 :(得分:0)
这不是环境问题。那是一个不同的例外。 Spring只会将原始异常包装到DataAccessException
中。因此,如果原始异常不包含描述性消息,那么我们几乎无能为力。我建议用Hibernate提出一个问题,将实体类型包含在它抛出的ConstraintViolationException
中。
要解决您手头的问题:OVCAR-3
和citymst_un
是否有足够的提示找出哪些域名无法保留?我的意思是,你可以从你正在使用的存储库中挖掘出来,不是吗?