Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何用泛型类型注释hibernate集合?_Java_Hibernate_Jpa_Hibernate Mapping_Generics - Fatal编程技术网

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;
    }
}