2014-12-06 40 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 – 2014-12-06 18:58:17

+2

这可能是一个Hibernate的bug。尝试使用'@ Basic'注释显式映射'uri'字段。 – 2014-12-07 00:42:47

回答

2

使用@Basic注释来注释该字段。您可能必须提供一个属性转换器。