要获取列名称

时间:2012-07-30 02:31:20

标签: mysql hibernate struts2

我正在为我的项目使用struts2,hibernate和MySql。 我有表名TimeTable有42列(所有长数据类型)包含课程代码。 我想搜索具有特定行的特定课程代码的“列名”。 请帮帮我。

1 个答案:

答案 0 :(得分:1)

如果你已经在hibernate中以“正确”的方式映射了实体,答案是显而易见的:

您将拥有一个名为TimeTable的实体,该实体与课程有42个关系(我打赌属性名称为course1,course2 .... course42)。

生成的HQL只是一堆OR

from TimeTable t
where t.course1.code = :something 
  OR t.course2.code = :something .....

然而,这显然是一个糟糕的模型设计。您应该将时间表和课程设置为多对多关系,并使用另一个表来存储关系。因此,在实体中,您将看到类似

的内容
class TimeTable {
    @ManyToMany
    private List<Course> courses;
}

通过这样的设计,你的生活会更轻松。