gpt4 book ai didi

java - Spring Data JPA native 查询不遵循投影的命名约定

转载 作者:行者123 更新时间:2023-12-04 22:46:57 31 4
gpt4 key购买 nike

我正在对 PostgreSQL 数据库使用 Spring Boot 2.1.3.RELEASE、Spring Data JPA。

列名使用下划线(例如 created_by )和实体 bean 使用普通 Java camelCase createdBy , getCreatedBy()等等。

我正在尝试使用投影界面编写 native 查询,但我回来了 null值。例子:

public class MyEntity {
private String createdBy;
// getters and setters etc
// more fields here
}

public interface MyProjection {
String getCreatedBy();
}

public interface MyRepository extends JpaRepository<MyEntity, Long> {
@Query(value = "
SELECT DISTINCT cool_table.* FROM cool_table INNER JOIN
// more SQL things", nativeQuery = true
)
List<MyProjection> searchNative(String filter);
}

当我运行它时,下划线分隔的列(其中
与非本地查询一起工作)。

作为实验,我在投影中添加了一个名为 getCreated_by() 的方法。
那一个工作正常......

我不想将投影中的所有方法重命名为带有下划线
他们的名字,因为那看起来很丑。有没有办法获得 native 查询
与预测一起工作?

最佳答案

只需使用注释 @Column并将列名物理设置为在数据库中。另一种选择是将您的架构设置为自动创建并查看自动创建的架构。

关于java - Spring Data JPA native 查询不遵循投影的命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55282106/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com