我有一个关于to表(student和course)和关系表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是我的外键,它们引用了course和student表中的id
1条答案
按热度按时间b4wnujal1#
我认为它不起作用,因为您使用的是createnamedquery方法。如果您使用的是jpql语法,请使用createquery;如果您想要使用纯sql语法,请使用createnativequery。