Hibernate JPA 2 Metamodel Generator在使用Spring Roo时会忽略字段

时间:2011-05-31 16:52:42

标签: java hibernate jpa spring-roo

我想通过Hibernate JPA 2 Metamodel Generator为Spring Roo实体创建一个JPA 2 Metamodel。

<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>1.1.1.Final</version>

我按照http://docs.jboss.org/hibernate/jpamodelgen/1.1/reference/en-US/html_single/中描述的方式运行流程。 我还将@Entity Annotation添加到Roo托管实体,生成器创建了Metamodell类,但是它不使用字段,而是使用元模型的Getter。

例如我的实体:

@RooJavaBean
@RooToString
@Entity
public class Banner {

    @PersistenceContext
    private transient EntityManager em;

    private String name;
    private int code;
    private Champaign champaign;

    public String getChampaignName() {
      return this.champaign.getName();
    }
}

对于这个实体,它创建了Metamodel:

@StaticMetamodel(Banner.class)
public abstract class Banner_ {
    public static volatile SingularAttribute<Banner, String> champaignName;
}

在非Roo项目中,相同的设置正常。

是否有任何配置,我可以指定生成器基于字段而不是Getter,以便元模型描述字段:{{name}} {{code}} {{champaign}}。

1 个答案:

答案 0 :(得分:2)

一种解决方法是使用@Access(AccessType.FIELD)

注释/所有实体