我有一个包含11列的表,但是我需要在我的应用程序中仅获取2列,我使用的是spring/hibernate/DAO组合。现在,我有一个包含所有11个字段的域类,以及一个映射表中所有11列的映射文件。我如何使用只得到其中的2个而不是全部?
最佳答案
任何一个:
List
,其中每一行都是Object[])
: select f.foo, f.bar from FatEntity f
FatEntity
重复用作持有人,否则许多字段将为null
: select new com.acme.FatEntityDetails(f.id, f.foo, f.bar) from FatEntity f
请注意,如果在SELECT NEW
子句中指定了实体类名称,则生成的实体实例将处于新状态(无持久身份)。 from LightEntity
#2和#3之间的主要区别是: