我在 Spring Boot Application 中使用 JPA。我才刚刚开始使用它,我有一些问题。我的DAO代码如下:@Transactionalpublic class DatabaseUnitDao implements IDatabaseUnitDao {@PersistenceContext private EntityManager entityManager;@Override public void create(Unit unit) { final String CREATE_UNIT = "CREATE TABLE " + unit.getName() + " (id VARCHAR(255) PRIMARY KEY NOT NULL, value text NOT NULL)"; entityManager.persist(unit); // add an info about unit in the general table entityManager.createNativeQuery(CREATE_UNIT).executeUpdate(); // create table for this units }}1.我应该flush()在这种情况下使用吗?2.只用@Transactional注解DAO类就够了吗?一些资源表明需要使用@EnableTransactionManagement 才能使用@Transactional。
1 回答

回首忆惘然
TA贡献1847条经验 获得超11个赞
不,JPA 提供程序必须在事务方法调用结束时为您完成。
是的。Spring Boot 默认启用事务管理(使用 proxyTargetClass = true)
添加回答
举报
0/150
提交
取消