我正在尝试向我的可嵌入类添加一个瞬态属性。以下是我所拥有的:
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@Embeddable
public class PackageProduct
{
@Field
private String productId;
@Transient
private Product product;
}PackageProduct在Package.java中是这样使用的;
@ElementCollection(targetClass=PackageProduct.class, fetch = FetchType.EAGER)
private Set<PackageProduct> packageProducts;但是,这会引发以下异常:Caused by: org.hibernate.MappingException: Could not determine type for: *.*.*.Product, at table: Package_packageProducts, for columns: [org.hibernate.mapping.Column(packageProducts.product)]
如果我用以下内容注释我的PackageProduct类,则不再引发异常:
@Access(AccessType.FIELD)我试图理解为什么它与类级@Access注释一起工作。任何帮助都是非常感谢的。谢谢。
发布于 2016-04-13 18:54:41
在hibernate中,您可以在字段或方法上应用所有注释,同时混合使用也不是allow.To覆盖,@Access是needed.In您的产品类,如果您正在使用这种情况,请纠正这一点。
https://stackoverflow.com/questions/36606804
复制相似问题