Spring Boot报错:java.lang.IllegalArgumentException: Not a managed type
问题分析与解决方案
核心问题
Shoe实体的主键id类型为String,但ShoeRepositories继承JpaRepository时,第二个泛型参数(主键类型)错误指定为Integer,导致JPA无法正确识别实体主键规则,进而无法自动生成数据库表结构。
修复步骤
- 修正Repository泛型参数
将ShoeRepositories的泛型主键类型改为String,与实体类的主键类型保持一致:
@Repository public interface ShoeRepositories extends JpaRepository<Shoe, String> { }
- 额外验证项
- 确认MySQL中
Sporty_Shoes数据库已提前创建 - 检查数据库连接参数(用户名、密码、端口)是否正确
- 若后续出现Repository无法被扫描的情况,可给
@EnableJpaRepositories添加包路径配置:@EnableJpaRepositories(basePackages = "com.SportyShoe.repositories")
内容的提问来源于stack exchange,提问作者Salahuddin Shayan
相关产品推荐
相关产品推荐

