1

Spring Roo 有一个@RooJavaBean注解,它为非瞬态字段生成 AspectJ getter 和 setter。问题是它也会为瞬态场生成它们。我在 Asset.java 中有这个:

@Transient
private Logger log = Logger.getLogger(this.getClass());

我在 Asset_Roo_JavaBean.aj 中有以下内容:

public Logger Asset.getLog() {
    return this.log;
}

public void Asset.setLog(Logger log) {
    this.log = log;
}

即使一个字段是瞬态的,我想您仍然应该能够使用 getter 和 setter 访问它,但是为什么文档对gettersByDefault注释字段这么说:

是否为此类中声明的每个非瞬态字段生成 getter(默认为 true)

有没有另一种方法可以阻止它在瞬态字段上生成方法,以便将它们视为私有属性?

4

1 回答 1

0

您使用的是哪个版本的 Spring Roo?根据ROO-3426 问题JIRA 条目,应使用 version 修补该错误1.2.5.RELEASE

1.) 我建议升级你的 Roo,它应该可以解决问题。

2.) 一定要检查是否导入javax.persistence.Transient

于 2014-08-29T07:56:27.730 回答