不知道大家有没有碰到过
代码大概如下:
public class BookOnSaleAction extends BaseAction implements FileItemUploadAware{
//BO类
private BookInfoBO bookInfoBO; @SuppressWarnings("unchecked")
@Override
public String execute() throws Exception
{
bookOnSaleBO.setByIsbnAndStoreID(this);
return "view";
}
}
@Transactional
public class BookOnSaleBOImpl implements BookOnSaleBO{
public void setByIsbnAndStoreID(BookOnSaleAction bookOnSaleAction)
{
List bookInfos=bookInfoBO.findByStoreID(isbn);
1.然后就是给bookOnSaleAction里的对象赋值。
}
}@Transactional
public class BookInfoBOImpl implements BookInfoBO
{
@Transactional(readOnly=true)
public List<BookInfo> findByStoreID(String isbn)
{
return bookInfoDao.findByStoreID(isbn);
}
}public class BookInfoDAO extends AbstractCommonDao<BookInfo,String>
{
@SuppressWarnings("unchecked")
public List<BookInfo> findByStoreID(String isbn)
{
return this.find("from BookInfo where id="+"'"+isbn+"'");
}
}
////
现在如果把BookOnSaleBOImpl里的@Transactional去掉,他就不会有update,或者在action里直接
调用bookInfoBO.findByStoreID(isbn);也不会出现update。现在跟踪是到1之后所有语句运行完了,
会在spring的TransactionInterceptor类里掉了个 cleanupTransactionInfo(txInfo);之后出现
了update语句,请大家帮忙看看这是怎么回事?而且
代码大概如下:
public class BookOnSaleAction extends BaseAction implements FileItemUploadAware{
//BO类
private BookInfoBO bookInfoBO; @SuppressWarnings("unchecked")
@Override
public String execute() throws Exception
{
bookOnSaleBO.setByIsbnAndStoreID(this);
return "view";
}
}
@Transactional
public class BookOnSaleBOImpl implements BookOnSaleBO{
public void setByIsbnAndStoreID(BookOnSaleAction bookOnSaleAction)
{
List bookInfos=bookInfoBO.findByStoreID(isbn);
1.然后就是给bookOnSaleAction里的对象赋值。
}
}@Transactional
public class BookInfoBOImpl implements BookInfoBO
{
@Transactional(readOnly=true)
public List<BookInfo> findByStoreID(String isbn)
{
return bookInfoDao.findByStoreID(isbn);
}
}public class BookInfoDAO extends AbstractCommonDao<BookInfo,String>
{
@SuppressWarnings("unchecked")
public List<BookInfo> findByStoreID(String isbn)
{
return this.find("from BookInfo where id="+"'"+isbn+"'");
}
}
////
现在如果把BookOnSaleBOImpl里的@Transactional去掉,他就不会有update,或者在action里直接
调用bookInfoBO.findByStoreID(isbn);也不会出现update。现在跟踪是到1之后所有语句运行完了,
会在spring的TransactionInterceptor类里掉了个 cleanupTransactionInfo(txInfo);之后出现
了update语句,请大家帮忙看看这是怎么回事?而且
难道真是hibernate自动检查脏数据,然后update了,太离谱了,我都没掉用update,自动给我update???