#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)