在休眠中获取值表

get value tables in hibernate

我有一个项目 table(学生和课程)和关系 table StudentCourse :

@ManyToMany(cascade = CascadeType.ALL )
@JoinTable(
        name = "StudentCourse",
        joinColumns = { @JoinColumn(name = "studentid") },
        inverseJoinColumns = { @JoinColumn(name = "courseid") }
)

现在我想给这个 table 赋值并将它加入另一个 table 。但它不起作用。请帮帮我。我想知道还有什么比我做的这项工作更好的方法......这是我这项工作的代码:

 public static List<Course> getSelectedCurse() throws SQLException {
   yourstcode = Console.getInputInteger("enter your code");
   Session session = OpenSession1();
   List<Course> courses = session.createNamedQuery("SELECT coursename FROM Course where id in (SELECT courseid from StudentCourse WHERE studentid=" + yourstcode + "").list();
   CloseSession(session);
   return courses;
}

//courseid和coursecode是我在Course和Student中引用id的外键table

我认为它不起作用,因为您使用的是 createNamedQuery 方法。 如果您使用 JPQL 语法,请使用 createQuery;如果您想使用纯 sql 语法,请使用 createNativeQuery。