JPA读取数据库离谱问题-No property ‘selectClassByName‘ found-Not a managed type

JPA读取数据库离谱问题

报错情况有以下两种:

  • No property 'selectClassByName' found for type 'Cinfo'
  • Caused by: java.lang.IllegalArgumentException: Not a managed type: class com.tang.backend.entity.Cinfo

第一种情况原因:在继承JPA并使用封装好的方法的时候,如果你要自己重新再写一个名字,那么必须和他的一致,如果不一致,你就需要自己重新写@Query注解的内容。

java 复制代码
// 错误写法
Cinfo selectClassById(String class_id);

// 正确写法
@Query(value="select * from class_info where class_id=?1",nativeQuery = true)
Cinfo selectClassById(String class_id);

并且请注意,在写Query里面的SQL语句的时候,如果用到了*号,那么请记得加上后面的nativeQuery = true

第二种情况原因: 继承JPA的时候,后面的泛型需要注意。

java 复制代码
public interface ClassInfoRepository extends JpaRepository<Cinfo, String> {}
// JAP的第一个泛型是你的表格类,第二个泛型是你的表格中主键的类型。
// 因为一般很多项目都是int自增的主键,所以这里很少遇到,但是我的项目是手动设置的String主键,
// 所以这里需要改成String。

当然,我不确定是否还有别的原因导致的,我这里把配置文件中关于JPA的配置贴在下面,希望对各位有帮助。

properties 复制代码
# JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.properties.hibernate.format_sql=true

# HikariCP
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=600000
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.register-mbeans=true

# SQL
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
相关推荐
郑州光合科技余经理33 分钟前
PHP构建:支撑欧美澳市场的同城生活服务平台开发
java·开发语言·数据库·uni-app·php·排序算法·生活
超级大只老咪8 小时前
数组相邻元素比较的循环条件(Java竞赛考点)
java
小浣熊熊熊熊熊熊熊丶8 小时前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
毕设源码-钟学长8 小时前
【开题答辩全过程】以 公交管理系统为例,包含答辩的问题和答案
java·eclipse
啃火龙果的兔子8 小时前
JDK 安装配置
java·开发语言
星哥说事8 小时前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
派大鑫wink8 小时前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
xUxIAOrUIII8 小时前
【Spring Boot】控制器Controller方法
java·spring boot·后端
Dolphin_Home9 小时前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
醇氧9 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea