当前位置: 首页 > 知识库问答 >
问题:

SpringBoot JPA存储库-get selected fields显示错误“column not found”

姬向明
2023-03-14
@Entity(name="Category")
@Table(name="categories")
public class Category {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private long id;
   private String slug;
   private String title;
   private String description;
   private String preview_image;
   private int isFeatured;

   /*  Getters, setters etc */
}
public interface CategoryRepository extends JpaRepository<Category, Long> {

    @Query(
        value = "SELECT id, title, description FROM categories", 
        nativeQuery = true
    )
    List<Category> findAll();
}

知道如何解决这个错误吗?我想用另一个模型代替类别,但我需要在以后使字段动态化。如果我不知道要返回哪些字段,就很难创建model类。

另外,有没有一种方法可以使这个@query代码动态地返回参数中提到的列?

如有任何帮助,我们将不胜感激。提前道谢!:)

共有1个答案

邰昀
2023-03-14

这是因为Spring和Hibernate的命名策略。默认情况下,它将把camelcase转换为snake_case。因此在您的示例中,它的isfeatured->is_featured

如果不想更改命名策略,只需在属性中添加@column(“isfeatured”)。这将重写此属性的默认行为。

在这里可以找到更多Spring Boot+JPA:列名注释被忽略

 类似资料:
  • 我对SpringData和JPA有问题。当我向HomeRepository接口添加方法时,我得到一个错误。我使用的是JPararePository接口,在pom.xml文件中有一个MySQL数据库集。这些只是我对spring的开始,所以我需要一些了解spring的人的帮助。下面是我的代码和日志: 主页库: 用户存储库: 日志:

  • 当我试图在Windows7的IE11上的EclipseLuna(Eclipse-jee-Luna-SR2-win32[4.4])上从EclipseMarketplace安装tomcat服务器时,出现了以下错误。 无法读取位于的存储库http://tomcatplugin.sf.net/update/content.xml.收到致命警报:握手失败 谁能帮我解决这个问题。 提前谢谢。

  • 我尝试将Springboot(V1.5.4)应用程序与Hazelcast集群连接起来,以查找存储的数据。为此,我使用了一个hazelcast-client实例,并创建了一个HazelcastRepository来搜索我的数据。 问题是,当我启动我的应用程序时,我总是得到这个Spring错误: org.springframework.beans.factory.BeanCreationExcepti

  • Spring云配置框架: 我正在尝试将java项目中的SpringCloud配置与后端存储库git(即bitbucket)集成。基本上,我在不同的场合更频繁地遇到两个错误。 在上述情况下,它使用缓存版本和tomcat/undertow服务器启动,没有任何问题。 Git版本: git版本2.24。0 错误1:git-上传-包 2020-04-11 00:00:20-克隆到基目录时发生WARN错误。

  • 我的应用程序在打开时会生成一个。我可以使用加密文本,但当我尝试使用解密时,它会抛出。 某些调试: 生成: 函数: 函数: