-2

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

不知道情况如何。但有人告诉我我可以从查询中创建一个实体(不是 VIEW)。

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

4

1 回答 1

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

您可以使用上述调用构造函数并将选定的值传递给它以实例化您的对象。

这是使用 HQL 的示例的链接。

于 2013-06-18T14:41:05.587 回答