我正在为我的项目使用 struts2、hibernate 和 MySql。 我有包含类(class)代码的 42 列(所有长数据类型)的表名称 TimeTable。 我想从特定行中搜索具有特定类(class)代码的“列名”。 请帮帮我。
最佳答案
如果您在 hibernate 中以“正确”的方式映射了实体,那么答案显而易见:
您将有一个名为 TimeTable 的实体,它与 Course 有 42 个关系(我打赌属性名称将是 course1、course2 .... course42)。
生成的 HQL 只是一堆 OR
from TimeTable t
where t.course1.code = :something
OR t.course2.code = :something .....
但是,这显然是一个糟糕的模型设计。您应该使 Timetable 和 Course 成为多对多关系,并用另一个表存储该关系。因此,在实体中,您会看到类似
的内容class TimeTable {
@ManyToMany
private List<Course> courses;
}
有了这样的设计,你的生活会轻松很多。
关于mysql - 获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714790/