JPA 元模型生成缺少属性
Posted
技术标签:
【中文标题】JPA 元模型生成缺少属性【英文标题】:JPA Metamodel generation missing attributes 【发布时间】:2014-12-06 16:31:16 【问题描述】:我正在使用 JPA 元模型生成 http://relation.to/Bloggers/HibernateStaticMetamodelGeneratorAnnotationProcessor 能够使用属性名称执行条件查询。
我正在通过 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 的标准无属性构造函数?
谢谢!
【问题讨论】:
也许 Hibernate 的元模型生成器不支持它。它当然是由 DataNucleus 元模型生成器 AFAIK 这可能是一个 Hibernate 错误。尝试使用@Basic
注释显式映射 uri
字段。
【参考方案1】:
使用@Basic 注释对字段进行注释。您可能需要提供一个属性转换器。
【讨论】:
以上是关于JPA 元模型生成缺少属性的主要内容,如果未能解决你的问题,请参考以下文章
DjangoRestFramework 类序列化程序缺少“元”属性?