【发布时间】:2014-03-27 06:30:47
【问题描述】:
我正在使用 Spring JPA 来执行所有数据库操作。但是我不知道如何从 Spring JPA 中的表中选择特定列?
例如:SELECT projectId, projectName FROM projects
【问题讨论】:
-
JPA 不寻找特定字段背后的想法是,从表格的一行中提取一列或所有列的成本(效率方面)相同。
-
@Desorder -- 成本并不总是相同的。对于更简单、原始的数据类型来说,这可能没什么大不了的,但我最终出现在这个页面上的原因是因为我注意到一个简单的“列表文档”查询运行缓慢。该实体有一个 BLOB 列(需要它用于文件上传/存储),我怀疑它很慢,因为它会将 BLOB 加载到内存中,即使列出文档不需要它们。
-
@jm0 据你所知,有多少个表有 BLOB 列?
-
@Desorder 它只是一个表,但我正在执行“列表”功能(多行 - 列出由给定 ID 创建的所有文档)。我注意到这个问题的唯一原因是这个简单的列表查询需要几秒钟,而对其他表的更复杂的查询几乎是立即发生的。一旦我意识到,我知道随着行的增加,它会受到越来越多的影响,因为 Spring JPA 正在将每个 BLOB 加载到内存中,即使它们没有被使用。我为 Spring 数据找到了一个不错的解决方案(发布在下面),但我认为我有一个更好的纯 JPA 注释,如果它有效,我会发布 tmrw
标签: java jpa spring-data-jpa