Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
Spring data jpa spring数据JPA(Hibernate)预测_Spring Data Jpa_Projection - Fatal编程技术网

Spring data jpa spring数据JPA(Hibernate)预测

Spring data jpa spring数据JPA(Hibernate)预测,spring-data-jpa,projection,Spring Data Jpa,Projection,我正在使用SpringBoot和SpringDataJPA。在查询中的许多地方,我使用的是投影,因为我不希望所有列都从数据库中获取 预测基于接口,如: public interface VeryBasicProjection { String getTitle(); String getUrl(); } 所以我的问题是,它实际上是只获取两列,还是获取所有列,然后在投影中设置这两列?Spring Data尝试只选择实际使用的部分 在您的例子中,它实际上应该使用一个自定义SQL语句

我正在使用SpringBoot和SpringDataJPA。在查询中的许多地方,我使用的是投影,因为我不希望所有列都从数据库中获取

预测基于接口,如:

public interface VeryBasicProjection {
    String getTitle();
    String getUrl();
}

所以我的问题是,它实际上是只获取两列,还是获取所有列,然后在投影中设置这两列?

Spring Data尝试只选择实际使用的部分

在您的例子中,它实际上应该使用一个自定义SQL语句选择这两个值

如果您的接口包含一个集合,那么这是不起作用的(如果没有相当复杂的查询逻辑),因此Spring Data会依赖于选择完整的实体并提取投影所需的值。或者至少会

您始终可以通过检查日志中生成的SQL来验证此行为