0

Spring、MySQL 和 Hibernate 在一个模型中加入表

我正在开发一个 Spring、MySQL 和 Hibernate 项目,这是该公司第一次要求我在 Java 代码中连接表。

在传递中,我编写如下代码以从 Hibernate 获取列表数据:

return (List<NameID_lookupModel>) sessionFactory.getCurrentSession()
                .createCriteria(NameID_lookupModel.class)
                .addOrder( Order.asc("Name"))
                .list();

但在这个新项目中,我将阅读不止一张表,因此我需要帮助来正确设置模型。

我的桌子看起来像这样

表 a、列 1 和列 2 表 b、列 1 和列 2 表 c、列 1 和列 2

我必须在表 A 上选择表 B col1 中的 col 2,然后将表 b col2 加入表 c col 1。

我如何在java模型中做到这一点?

4

1 回答 1

0

我看到了两种解决您的问题的方法:

  • 在数据库中使用视图并将您的类映射到视图
  • 使用 SQL 休眠查询并将结果作为您要使用的模型类的实例(在您的示例中,将映射表 A);例子:

    SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery("SQL THAT YOU WANT TO USE WITH THE JOINS AND WHERE"); query.addEntity(LookupMappedModel.class); List<LookupMappedModel> result = (List<LookupMappedModel>)query.list();

您可以在此处找到更多示例:Hibernate - 使用本机 SQL

于 2012-09-07T06:54:20.207 回答