Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何从100列列表中仅提取特定列_Hibernate_Hibernate Mapping - Fatal编程技术网

Hibernate 如何从100列列表中仅提取特定列

Hibernate 如何从100列列表中仅提取特定列,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,我正在使用DB2数据库,我有一个几乎有80列的表,但我只关心需要读取的3列。如何仅提取这3列的数据?有没有一种方法,我不必创建一个实体类,而不需要所有的80个getter和setter?如果有其他方法,请告诉我。或者有没有一种方法可以自动生成这样的实体类 谢谢,您可以编写本机查询并将其放入createSQLQuery()方法。假设您有一个查询,这里有两个选项 SELECT t.COLUMN1, t.COLUMN2, t.COLUMN3 from TABLE t; 当您直接调用uniqueRes

我正在使用DB2数据库,我有一个几乎有80列的表,但我只关心需要读取的3列。如何仅提取这3列的数据?有没有一种方法,我不必创建一个实体类,而不需要所有的80个getter和setter?如果有其他方法,请告诉我。或者有没有一种方法可以自动生成这样的实体类


谢谢,

您可以编写本机查询并将其放入
createSQLQuery()
方法。假设您有一个查询,这里有两个选项

SELECT t.COLUMN1, t.COLUMN2, t.COLUMN3 from TABLE t;
当您直接调用
uniqueResult()
list()
时,您将分别得到
Object[]
list
。Hibernate应该确定正确的类型,并且可以强制转换数组元素

或者,您可以创建一个只包含这些列的实体,这些列的共同响应名称为DB table,并调用
createSQLQuery().addEntity(MyEntity.class)
,然后使用该类


有关更多信息,请查看

谢谢你,保罗。我将尝试这一点,并更新,如果它的工作。