Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
Java JPA是否可以/应该用于返回值而不是实体?_Java_Jpa_Jdbc - Fatal编程技术网

Java JPA是否可以/应该用于返回值而不是实体?

Java JPA是否可以/应该用于返回值而不是实体?,java,jpa,jdbc,Java,Jpa,Jdbc,我在项目中使用JPA,在大多数情况下,我希望获取实体,但也有少数情况(报告是其中之一,但也有其他情况)我不希望或需要获取实体,而是希望选择一个值。JPA支持这一点吗?如果是这样的话,在这些情况下使用JDBC或者直接使用JDBC有意义吗?Q1: 是的 这就是所谓的标量查询,例如: select u.name from User u 相对于 select u from User u 问题2: 说到使用它的意义: 这样的查询很有意义——您只需要一个属性,而不是整个对象。但是,如果您计划让所有查询

我在项目中使用JPA,在大多数情况下,我希望获取实体,但也有少数情况(报告是其中之一,但也有其他情况)我不希望或需要获取实体,而是希望选择一个值。JPA支持这一点吗?如果是这样的话,在这些情况下使用JDBC或者直接使用JDBC有意义吗?

Q1: 是的

这就是所谓的标量查询,例如:

select u.name from User u 
相对于

select u from User u
问题2: 说到使用它的意义:
这样的查询很有意义——您只需要一个属性,而不是整个对象。但是,如果您计划让所有查询只获取单独的值,那么“为什么”这个问题似乎是有效的。O/R映射器的全部思想是允许您对对象进行操作,而不是(相关的)表和ID。因此,使用JPA获取ID通常没有意义。一旦将对象映射到数据库,您就可以更轻松地对数据进行操作。

在java2s.com上,似乎提供了一个您正在寻找的示例。

我希望获得多个值。有没有办法从用户u获取u.name、u.age?这是一个简化的示例,我不会从一个实体中提取多个值。我主要对实体使用JPA,只是想知道在我正在做一些不同的事情的情况下引入像JDBC这样的东西是否有意义。我想这是一个基本问题。显然,根据JPA规范。正如你所写