为了账号安全,请及时绑定邮箱和手机立即绑定

如果我已经在使用 @Transactional,我什么时候应该使用

如果我已经在使用 @Transactional,我什么时候应该使用

守着星空守着你 2022-07-06 15:58:56
我在 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个赞

  1. 不,JPA 提供程序必须在事务方法调用结束时为您完成。

  2. 是的。Spring Boot 默认启用事务管理(使用 proxyTargetClass = true)


查看完整回答
反对 回复 2022-07-06
  • 1 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号