【发布时间】:2011-02-01 22:08:18
【问题描述】:
我一直在查看 Spring Roo 生成的代码,我注意到它创建的 persist() 方法是 Propagation.REQUIRES_NEW。默认传播还不够吗?
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void Entity.persist() {
if (this.entityManager == null) this.entityManager = entityManager();
this.entityManager.persist(this);
}
一些附加信息。这是生成此代码的 roo 日志:
// Spring Roo 1.1.0.RELEASE [rev 793f2b0] log opened at 2011-02-04 10:01:02
project --topLevelPackage org.sotest.sscce --projectName Test --java 6
// Spring Roo 1.1.0.RELEASE [rev 793f2b0] log closed at 2011-02-04 10:01:04
// Spring Roo 1.1.0.RELEASE [rev 793f2b0] log opened at 2011-02-04 10:01:06
persistence setup --database GOOGLE_APP_ENGINE --provider DATANUCLEUS
entity --class ~.entities.Entity
exit
// Spring Roo 1.1.0.RELEASE [rev 793f2b0] log closed at 2011-02-04 10:02:55
我正在使用具有 DN 提供程序的 GAE 数据库。我只是创建了一个实体,除了发出上述 roo 命令之外,我没有接触任何文件。当我打开 Entity_Roo_Entity.aj 时,我得到了上面的代码。
我将在最新版本的 Roo 上再次尝试此操作并验证相同的输出。我也会在 Roo 相关的论坛上发布这个问题。
更新:使用 Roo 1.1.1(最新版本)生成相同的代码
【问题讨论】:
标签: java jpa transactions spring-roo