是否可以直接从查询创建实体?
不确定它是怎么回事。但有人告诉我,我可以从查询中创建一个实体(Not VIEW)。
我需要连接多个表并仅提取一些列,并将其用作代码中的实体。
答案 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的链接。