Java hql中的新关键字是如何工作的?

Java hql中的新关键字是如何工作的?,java,database,hibernate,orm,hql,Java,Database,Hibernate,Orm,Hql,我在jboss的文档中找到了这个例子 select new Family(mother, mate, offspr) from DomesticCat as mother join mother.mate as mate left join mother.kittens as offspr 系列类来自何处。我需要导入到某个地方,还是使用它的完全限定类名?系列是一个普通的POJO,具有需要声明或完全限定的适当构造函数 如果出于其他原因发现导入,则导入是可选的。:-) 是的,它需要

我在jboss的文档中找到了这个例子

select new Family(mother, mate, offspr)
from DomesticCat as mother
    join mother.mate as mate
    left join mother.kittens as offspr

系列
类来自何处。我需要导入到某个地方,还是使用它的完全限定类名?

系列是一个普通的POJO,具有需要声明或完全限定的适当构造函数

如果出于其他原因发现导入,则导入是可选的。:-)

是的,它需要存在。它是一个不是实体的类,创建它是为了以可理解的方式处理这三列。它需要一个适合调用的构造函数

基本上,这就像你做了:

  • 返回列表(包含三列)的查询
  • 循环,创建包含列的族对象,并返回这些结果的列表

系列
必须是具有适当构造函数的Java对象。如果对象是普通映射实体(使用注释或在hibernate映射XML中),则导入是可选的。

如果导入是可选的,而类不是实体,hibernate将如何找到它?它将在哪些软件包中查找它?@Flybywire-True,必须以某种方式找到它:-)。如果声明一个实体,如果在Hibernate的默认包中,或者如果导入,则会找到它。我的回答不是很清楚,因为在第一种情况下,实体总是存在的,这是事实。:-)@flybywire作为实体(注释或映射)