java - Spring JPA 查询单列结果为通用类型?

标签 java spring-boot spring-data-jpa jpql

我对 Spring-Boot 和 JPA 比较陌生。我在复杂/多列表的实体和存储库方面做得很好,但我有一个观点,我需要查询只有 2 列、键/索引(长)和日期。

我希望能够向现有存储库添加一个方法,该方法可以根据键查询此日期,并返回单个 LocalDate 结果而不是 @Entity 结果。这可以吗?

奖励问题:

1) 我想将 java.sql.Date 转换为 java.time.LocalDate。由于没有实体/列可以分配转换,是否可以在查询中进行此转换?

2) 是否还可以定义一个返回 Map<Long, LocalDate> 的查询?

最佳答案

我刚刚找到了一个可行的解决方案。

我只是添加到现有的@Repository:

@Query(value = "select COMPLETED_DATE from COMPLETION_DATES where ID = ?1", nativeQuery = true)
LocalDate getCompletedDateById(Long id);

我之前定义了一个 LocalDateConverter ,它具有 @Converter(autoApply = true) 注释,它似乎已经为我处理了转换(它只是有效)。

关于java - Spring JPA 查询单列结果为通用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52745646/

相关文章:

java - Spring Boot 2.1.5 Java 11 模块,组装 JAR : Could not create modular JAR file. 时出错 JDK jar 工具退出 1 -> [帮助 1]

java - 如何为两个不同的列组合在实体类上添加唯一约束

java - 使用spring jpa时抛出NonUniqueResultException "findtop"

java - 从字符串中提取 double 值获取 java.util.NoSuchElementException

Java:使用 ConcurrentHashMap 作为锁管理器

java - 返回带有类型的 spring bean

java - 通过继承和类型参数化存储库访问 JPA 方法

java - Android 5.0 及更高版本上未显示 Firebase 通知图标

java - 在实例化阶段之前/期间检索 Bean 类

java - 在 Spring Boot 应用程序中未针对 hibernate 和 spring 过滤 Log4j2 日志级别