如何将jee事务转换为spring事务



我有一个需要转换为spring数据jpa的代码片段,如下所示。

代码使用EntityManager获取当前事务,如果它是活动的,则回滚事务。如果没有,则创建一个新事务并保存记录。

EntityTransaction transaction = entityManager.getTransaction();
if (transaction.isActive()) {
transaction.rollback();
}
transaction.begin();
for (Iterator<AuditEntity> it = auditLogs.iterator(); it.hasNext();) {
AuditEntity enquiry = it.next();
entityManager.persist(enquiry);
entityManager.flush();
entityManager.clear();
}
transaction.commit();

我怎么能使这是使用字符串数据jpa和hibernate?

// Create repository bean, spring will generate implementation
interface AditLogRepository extends CrudRepository<AuditEntity, Long> {}
// Inject repository bean, spring will do it automatically on startup
@Autowired AditLogRepository repository;

// Use Transactional annotation, spring will begin transaction, commit or rolback in case of RuntimeException
@Transactional
void saveAll(Collection<AuditEntity> auditLogs) {
for (AuditEntity entity : auditLogs) {
repository.save(entity);
}
}

最新更新