1
我希望能够以rdbms中性方式从ConstraintViolationException消息中提取实体和属性......可以这样做吗?如果是的话如何?如何从Hibernate中提取实际的实体和属性名称ConstraintViolationException
我希望能够以rdbms中性方式从ConstraintViolationException消息中提取实体和属性......可以这样做吗?如果是的话如何?如何从Hibernate中提取实际的实体和属性名称ConstraintViolationException
查看hibernate源代码:org.hibernate.exception.SQLStateConverter将SQLException.SQLState转换为适当的hibernate异常。 SQLState是唯一与供应商无关的标准化数据,您必须找出错误原因。 Java API文档可以遵循两种错误代码和消息标准之一......但是没有指定错误细节的标准。
所以我认为不,它不能完成,除非你有所有的rdbms手头来测试和解释错误消息字符串。
我已经看过SQLExcecptionConverter,但是如果你想修饰HIbernate计算出来的特定方言,那么一个陷阱就是用你的impl来装饰它的痛苦。 是的我已经看到Environment.key把我自己的fq类名称,但然后我失去了方言之一。它也很难更新设置,因为setter是私有包,这意味着需要做一些反省黑客。 – 2010-06-09 11:23:01