我正在使用Hibernate 5.1.0.Final。
System.Runtime.InteropServices.COMException
这些是我的实体的基本实现。
当我尝试使用
到达C的entityAs字段时@Entity(name = "EntityA")
@Table (name = "entity_a")
public class EntityA {
@Column
private int a;
@Cloumn
private String b;
//getters and setters
}
@Entity(name = "EntityB")
@Table (name = "entity_c")
public class EntityB {
@Column
private int d;
@ManyToMany
@NotNull
private List<EntityA> entityAs;
//getters and setters
}
@Entity(name = "EntityC")
@Table (name = "entity_c")
public class EntityC extends EntityB {
@Column
private int e;
//getters and setters
}
hibernate抛出
queryPath.get("entityAs")
异常。据我所知,根据this问题,这是一个hibernate错误。
我想知道这个bug有一个易于实现的解决方法吗?
感谢。
答案 0 :(得分:-2)
我将queryRoot投射到queryPath,然后调用queryPath.get("entityAs")
。
而不是这样,将queryRoot转换为From并调用queryFrom.join("entityAs", JoinType.LEFT);
已解决了我的问题。