【问题标题】:Hibernate JPA 2 Metamodel Generator ignore fields when uses with Spring Roo与 Spring Roo 一起使用时,Hibernate JPA 2 Metamodel Generator 忽略字段
【发布时间】:2011-06-02 00:01:17
【问题描述】:

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

<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/ 中描述的方式工作。 我还在 Roo 管理的实体中添加了@Entity 注解,并且生成器创建了 Metamodel 类,但是它使用 Getter 来代替字段,而不是 Metamodel。

例如我的实体:

@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();
    }
}

为这个实体创建元模型:

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

在非 Roo 项目中,相同的设置可以正常工作。

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

【问题讨论】:

  • 你能展示为非 Roo 项目生成的元模型类吗?
  • 哦,好的。忽略我之前的评论,现在我明白你的问题了

标签: java hibernate jpa spring-roo


【解决方案1】:

一种解决方法是用@Access(AccessType.FIELD)注释/所有实体

【讨论】:

    猜你喜欢
    • 2019-12-02
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    相关资源
    最近更新 更多