Если бы я не использовал hibernate, я бы использовал jdbcTemplate для вызова db, например:
getJdbcTemplate().update("....")
Я делал это в прошлом, я не писал конфигурацию bean-компонента xml или использовал аннотациидля транзакций.Итак, какой объем транзакции у меня был тогда?
В настоящее время при использовании Spring MVC с Hibernate я внедряю sessionManager (не используя HibernateDaoSupport), и я помещаю аннотацию @Transaction в свой класс обслуживания (который используетDao).
@Service
@Transactional
public class UserServiceImpl extends UserService {
@Autowired
UserService userService
@Override
public User getUser(int id) {
return userDao.get(User.class, id);
}
}
У моего XML-контекста приложения есть:
<context:component-scan base-package="com.myapp"/>
<mvc:annotation-driven/>
<bean id="dataSource" .../>
<bean id="sessionFactory" .../>
<tx:annotation-driven />
На данный момент меня действительно не волнуют транзакции, охватывающие более одного вызова БД, и я хочучтобы все было как можно быстрее.
Как я могу сделать именно то, что делает JdbcTemplate?
Каковы различные варианты, когда речь идет о транзакциях, особенно в поисках способов максимально минимизировать блокировку таблиц / строк (я предполагаю, что мне нужно то, что jdbcTemplate сделал для меня вне-Box).