我有一个项目与表(学生和课程)和关系表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
答案 0 :(得分:-1)
我认为它不起作用,因为您正在使用createNamedQuery方法。 如果要使用纯SQL语法,则在使用JPQL语法或createNativeQuery时使用createQuery。