mysql - 获取列名

标签 mysql hibernate struts2

我正在为我的项目使用 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/

相关文章:

mysql - 如何在mysql中使用select case into

php - 如何在php中更新mysql表而不刷新页面?

hibernate - 为什么类元空间在 Java 8 中会随着时间的推移而增加?

java - 如何调整 Hibernate 查询

java - JPA更新父子

mysql - 从 mysql 中的所有列名中删除下划线

mysql - 在mysql结果输出中将列透视为行

java - 遍历2D ArrayList并将其显示在JSP页面上

java - Spring mvc 如何将请求参数绑定(bind)到Controller属性,如struts2

java - Struts 2 静态字段属性?