防止为@Transient字段生成getter / setter

时间:2013-03-31 00:48:53

标签: annotations javabeans spring-roo

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)

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

1 个答案:

答案 0 :(得分:0)

您使用的是哪个版本的Spring Roo?根据{{​​3}} JIRA条目,应使用版本1.2.5.RELEASE修补错误。

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

2。)务必检查导入javax.persistence.Transient