Java 如何用泛型类型注释hibernate集合?
我有一个类型为Java 如何用泛型类型注释hibernate集合?,java,hibernate,jpa,hibernate-mapping,generics,Java,Hibernate,Jpa,Hibernate Mapping,Generics,我有一个类型为List
List
的一对多类成员。在Hibernate中注释此成员的推荐方法是什么
病态细节:
@Entity
public class DvOrdered extends DataValue
{
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name="dv_ordered_other_reference_ranges",
joinColumns = @JoinColumn(name = "reference_range_id"),
inverseJoinColumns = @JoinColumn(name = "dv_ordered_id"))
private List<ReferenceRange<T>> otherReferenceRanges;
}
提前感谢您的回复。由于类型擦除,通用信息在编译时丢失,因此Hibernate无法确定您的情况下是什么类型的
t
您可以将代码更改为:
private List<ReferenceRange<T>> otherReferenceRanges;
你试过什么?你犯了什么错误?作为旁注,你真的有一个通俗类型的通俗小说吗!!!!你能提供所涉及的类吗?增加了关于一个错误的详细信息,这个错误非常有意义。它不知道与哪个具体实体的关系。我相信这个错误是有道理的。然而,问题是如何写这种习语。谢谢你的回答,但我不明白这有什么帮助。有没有一种方法可以将Hibernate AnyMetaDef与OneToMany关联使用,然后按照您的建议使用ReferenceRange
@AnyMetaDef
可以获得与使用继承相同的效果,但您赢了;不能使用嵌套的泛型类型。
private List<ReferenceRange<T>> otherReferenceRanges;
public abstract class ReferenceRange<T> {
public abstract T getReference();
}
public class IntegerReferenceRange extends ReferenceRange<Integer> {
private Integer reference;
@Override
public Integer getReference() {
return reference;
}
}