我正在阅读Spring Recipes这本书,并且对此感到困惑:任何异常都是作为DataAccessException的子类引发的,您不打算尝试捕获RuntimeException/catch 。在Java/Spring中处理与数据库相关的异常
我担心的是更可能发生的问题,特别是插入问题。如果您使用的是类似SimpleJdbcTemplate的东西,则每个查询都是它自己的事务,因此您无法确保密钥不在表中,而是使用getSimpleJdbcTemplare.update()执行插入操作,因为可能在两个查询之间插入了密钥。
很明显,这是一个比生产系统中的RuntimeException更适合处理的东西。那么你如何处理?
谢谢。
首先,并非每个查询都必须是一个事务,您可以按照您想要的任何方式划分事务,通常在服务方法级别。 你能否详细说明为什么你认为这个重复的关键问题会在你的应用程序中经常发生? – 2010-03-02 22:32:24