【问题标题】:Mapping multiple hibernate Entities inside non-entity java bean在非实体 java bean 中映射多个休眠实体
【发布时间】:2018-03-07 09:46:13
【问题描述】:

您好,我正在使用带有 Hibernate 的 Spring Boot 应用程序,使用 Oracle 作为 DB。

我有 5 个名为

的类

1.Reqest -> 与请求表映射

2.Team -> 与团队表映射

3.Partner - 与合作伙伴表映射

4.Customer -> 与客户表映射

现在我想在应用程序的摘要屏幕上显示请求摘要,其中需要上述表格中的所有信息。

假设我如下创建一个 bean 类。

public class SummaryBean{
 
 Request req;
 
 Team team;
 
 Customer cust;
 
 Partner part;
 
 
 //Getter setters;
 
 




}
 

现在,由于我已将所有表映射到 Java 类,因此我可以使用 hql 连接查询来获取数据。

我不想将普通 SQL 查询与连接一起使用,然后将生成的 Object[] 列表从休眠查询和存根数据手动迭代到 SummaryBean 中。

上述所有表都有 REQ_ID 作为连接列

我的问题是如何使 hibernate 将该查询的结果映射到 SummaryBean 对象? 有可能吗?

【问题讨论】:

    标签: java spring hibernate


    【解决方案1】:

    您可以使用构造函数查询。

    有点像

    "select new SummaryBean(req, team, cust, part) from (here you join your tables)"
    

    您需要为具有这 4 种类型的 SummaryBean 提供构造函数。

    请注意,不必映射 SummaryBean 类,但您可能必须在查询中使用完全限定名称 (packageName.className)。

    【讨论】:

    • 绝对看准男人!!是的,我必须为 SummaryBean 使用完全限定名称
    • 很高兴我能帮上忙。这周我也在做同样的事情:)
    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 2019-12-03
    • 2020-12-18
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    相关资源
    最近更新 更多