Database Spring事务管理
在职Database Spring事务管理,database,spring,transactions,spring-jdbc,jdbctemplate,Database,Spring,Transactions,Spring Jdbc,Jdbctemplate,在职 @Transactional public void operation(Stock val) { Stock findStock = stockDAO.find(val); Product findProduct = productDAO.find(findStock.getProductId()); Item findItem= itemDAO.find(findProduct.getItemId()); } Spring打开事务并相应地关闭 由于连接已打开,
@Transactional
public void operation(Stock val) {
Stock findStock = stockDAO.find(val);
Product findProduct = productDAO.find(findStock.getProductId());
Item findItem= itemDAO.find(findProduct.getItemId());
}
Spring打开事务并相应地关闭
由于连接已打开,我们将三次访问DB,这会花费多少钱?由于连接打开了一次/或者我们应该使用join吗 在提供的代码中有3个DB查询。因此,最好定义一个查询并将逻辑放在那里,但避免过早优化 如果不经常调用该方法,则可以使用3 DB的命中率。优化真正的瓶颈 有多种方法: 您可以将其设置为只读 @TransactionalreadOnly=true 您可以使用JOIN编写一个查询,并在哪里访问数据库一次 或者缓存结果会有所帮助