从查询创建实体?

时间:2013-06-18 14:32:54

标签: java sql hibernate entity

是否可以直接从查询创建实体?

不确定它是怎么回事。但有人告诉我,我可以从查询中创建一个实体(Not VIEW)。

我需要连接多个表并仅提取一些列,并将其用作代码中的实体。

1 个答案:

答案 0 :(得分:2)

我不确定实体的意思(SSCCE会有所帮助,IMO)。

但是,您正在寻找的可能是JPQL Constructor Expressions

  SELECT子句中的

可以在SELECT列表中使用构造函数来返回一个或多个Java实例。指定的类不需要是实体或映射到数据库。构造函数名称必须是完全限定的。   如果在SELECT NEW子句中指定了实体类名,则生成的实体实例处于新状态。

以下是一个例子 -

SELECT NEW com.company.PublisherInfo(pub.id, pub.revenue, mag.price)
    FROM Publisher pub JOIN pub.magazines mag WHERE mag.price > 5.00

您可以使用上述方法调用构造函数并将其传递给实例化对象。

以下是example using HQL的链接。