2014-12-06 4 views
0

Я использую генерацию метамодели JPA http://relation.to/Bloggers/HibernateStaticMetamodelGeneratorAnnotationProcessor , чтобы иметь возможность выполнять запросы критериев с именами атрибутов.JPA Генерация метамодели отсутствует атрибуты

Я генерации классов метамодели корыто ANT и hibernate-jpamodelgen-4.3.5.Final http://mvnrepository.com/artifact/org.hibernate/hibernate-jpamodelgen/4.3.5.Final

Проблема заключается в том: Если у меня есть объект вроде этого:

@Entity public class Order 
{ 
    @Id 
    Integer id; 
    @ManyToOne 
    Customer customer; 
    @OneToMany 
    Set<Item> items; 
    BigDecimal totalCost; 
    java.net.URI uri; 
    ... 
} 

с сеттеры и все ...

метамодель генерироваться будет выглядеть следующим образом:

@StaticMetamodel(Order.class) 
public class Order_ { 
    public static volatile SingularAttribute<Order, Integer> id; 
    public static volatile SingularAttribute<Order, Customer> customer; 
    public static volatile SetAttribute<Order, Item> items; 
    public static volatile SingularAttribute<Order, BigDecimal> totalCost; 
} 

Соответственно URI отсутствует в сгенерированном объекте.

Возможно, это из-за отсутствующего стандартного конструктора атрибутов для java.net.URI?

СПАСИБО!

+1

Возможно, это просто не поддерживается генератором метамодели Hibernate. Это, безусловно, генератор метамодели DataNucleus AFAIK –

+2

Это может быть ошибка Hibernate. Попробуйте явно отобразить поле 'uri' с помощью аннотации' @ Basic'. –

ответ

2

Используйте аннотацию @Basic для аннотации поля. Возможно, вам придется предоставить конвертер атрибутов.

Смежные вопросы