在hibernate中获取值表

时间:2018-05-09 04:52:55

标签: java mysql sql hibernate hql

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

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

现在我想给这个表赋值并将它加入到另一个表中。但它没有工作。请帮帮我。而且我想知道的是,除了这项工作之外还有其他任何方式......这是我的工作代码:

 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是我的外键,引用课程和学生表中的id

1 个答案:

答案 0 :(得分:-1)

我认为它不起作用,因为您正在使用createNamedQuery方法。 如果要使用纯SQL语法,则在使用JPQL语法或createNativeQuery时使用createQuery。