Java 基于Hibernate注释的查询执行错误?
实际上,在我的基于Hibernate注释的应用程序中,有一些ValueObject类(Bean类),它们是Java 基于Hibernate注释的查询执行错误?,java,hibernate,jpa,annotations,hql,Java,Hibernate,Jpa,Annotations,Hql,实际上,在我的基于Hibernate注释的应用程序中,有一些ValueObject类(Bean类),它们是 public Class CourseVO{ @Column(name="NAME") private String name; } SKillsetVO类 public Class SkillsetVO{ @ManyToOne @JoinColumn(name="COURSE_ID", insertable=false, updatable=false)
public Class CourseVO{
@Column(name="NAME")
private String name;
}
SKillsetVO类
public Class SkillsetVO{
@ManyToOne
@JoinColumn(name="COURSE_ID", insertable=false, updatable=false)
private CourseVO courseSID;
@ManyToMany(cascade = {CascadeType.ALL}, fetch=FetchType.EAGER)
@JoinTable(name="SKILLSET_COURSE",joinColumns={@JoinColumn(name="SKILLSET_ID",referencedColumnName="S_ID")},inverseJoinColumns={@JoinColumn(name="S_ID")})
private Set<CourseVO> course;}
注意上述名为S_ID的代码Primarikey包含另一个名为AbstractVO的类,因此我的所有类都扩展了这个AbstractVO类,所以主键标记没有问题。。。
现在,在我的业务逻辑中,我编写了一个查询:
select tt from TimetableVO tt join tt.skillsetSID.course c where c.name in (:courseNames)
然后我给出:courseName类似于“java”,然后它给出错误技能集\u课程表不存在
是的,这是正确的,我只根据ValueObjects创建了三个表…但hibernate可以做到这一点…请帮助我编写查询 使用hbm2ddl
属性创建
或更新
。或者手动打开控制台并发出CREATE
语句。使用hbm2ddl
属性来CREATE
或update
。或者手动打开控制台并发出CREATE
语句。感谢您的重播。。。但在前面的文章中,我也在执行相同的查询结构和值对象注释,但没有给出任何错误,为什么?现在只给出错误?我想我的查询有问题,或者我错过了values对象类中的注释…试试这个@JoinTable(name=“SKILLSET\u-COURSE”,joinColumns={@JoinColumn(name=“SKILLSET\u-ID”)},inverseJoinColumns={@JoinColumn(name=“COURSE\u-ID”)}
或者改为FetchType.LAZY
,这样你就不必加载孤立项了。谢谢你的重播。。。但在前面的文章中,我也在执行相同的查询结构和值对象注释,但没有给出任何错误,为什么?现在只给出错误?我认为我的查询有问题,或者我错过了values对象类中的注释…试试这个@JoinTable(name=“SKILLSET\u-COURSE”,joinColumns={@JoinColumn(name=“SKILLSET\u-ID”)},inverseJoinColumns={@JoinColumn(name=“COURSE\u-ID”)}
或者改为FetchType.LAZY
,这样你就不必加载孤儿。
select tt from TimetableVO tt join tt.skillsetSID.course c where c.name in (:courseNames)