我在 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.我應(yīng)該flush()在這種情況下使用嗎?2.只用@Transactional注解DAO類就夠了嗎?一些資源表明需要使用@EnableTransactionManagement 才能使用@Transactional。
1 回答

回首憶惘然
TA貢獻(xiàn)1847條經(jīng)驗 獲得超11個贊
不,JPA 提供程序必須在事務(wù)方法調(diào)用結(jié)束時為您完成。
是的。Spring Boot 默認(rèn)啟用事務(wù)管理(使用 proxyTargetClass = true)
添加回答
舉報
0/150
提交
取消