将休眠与泛型一起使用
2022-09-03 01:44:03
我在理解Hibernate如何处理泛型时遇到了一些麻烦,并且想知道实现目标的最佳方法。
给定一个简单的泛型实体:
@Entity
public class Box<T>{
private T t;
@Id
private long id;
public void setT(T t) {
this.t = t;
}
public T getT() {
return t;
}
public void setId(long id) {
this.id = id;
}
public long getId() {
return id;
}
}
在进行休眠初始化时,我遇到异常:...has an unbound type and no explicit target entity. Resolve this Generic usage issue or set an explicit target attribute (eg @OneToMany(target=) or use an explicit @Type
我几乎可以肯定这是因为我没有给冬眠一个实际限制的列表。我知道你可以在注释中指定诸如上述内容,但是这样你就会失去拥有泛型的灵活性。我是否可以使用注释来限制可接受的泛型的范围?例如:如果我希望从抽象类继承的类 ,在那里可以持久化,该怎么办?此外,它还应该能够接受s。能处理这样的事情吗?<T>
targetEntity=String.class
t
ChildA
ChildB
Parent
String
Hibernate