Генератор метамодели Hibernate JPA 2 игнорирует поля при использовании с Spring Roo

#java #hibernate #jpa #spring-roo

#java #гибернация #jpa #spring-roo

Вопрос:

Я хочу создать метамодель JPA 2 с помощью генератора метамодели Hibernate JPA 2 для объектов Spring Roo.

 <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 к объектам, управляемым Roo, и генератор создает классы метамодели, но вместо полей он использует средство получения для метамодели.

Например, моя сущность:

 @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, те же настройки работают нормально.

Существует ли какая-либо конфигурация, в которой я могу указать, что генератор основан на полях, а не на получателе, чтобы метамодель описывала поля: {{name}} {{code}} {{champaign}}.

Комментарии:

1. Можете ли вы показать сгенерированный класс метамодели для проекта, отличного от Roo?

2. О, хорошо. Игнорируйте мой предыдущий комментарий, теперь я понимаю вашу проблему

Ответ №1:

Одним из обходных путей является аннотирование объектов / all с @Access(AccessType.FIELD)