在休眠中获取值表
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。
我有一个项目 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。