java.lang.IllegalArgumentException:不是托管类型:类 com.SportyShoe.Entity.Shoe

2023-12-13

我是 Spring 和 Spring Boot 的新手。我尝试通过以下方式构建一个项目 我在这里找到的一个例子:http://www.javaguides.net/2018/09/spring-mvc-using-spring-boot2-jsp-jpa-hibernate5-mysql-example.html.

这是我的申请:

package com.SportyShoe;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;


@ComponentScan(basePackages = "com.SportyShoe")
@SpringBootApplication
@EntityScan("com.SportyShoe.*")
@EnableJpaRepositories
public class SportyShoeApplication {
    

    public static void main(String[] args) {
        SpringApplication.run(SportyShoeApplication.class, args);
    }

}

这是我的实体:

package com.SportyShoe.Entity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Shoe")
public class Shoe {
    
    @Id
    @Column(name="id")
    private String id;
    

    @Column(name="colour")
    private String colour;
    
    @Column(name="gender")
    private String gender;
    
    @Column(name="category")
    private String category;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getColour() {
        return colour;
    }

    public void setColour(String colour) {
        this.colour = colour;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }
    

}

这是我的存储库:

package com.SportyShoe.repositories;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.SportyShoe.Entity.Shoe;


@Repository
public interface  ShoeRepositories extends JpaRepository<Shoe, Integer>{

}

这是我的控制器:

package com.SportyShoe.controllers;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.SportyShoe.repositories.ShoeRepositories;

@Controller
public class ShoeController {
    
    @Autowired
    ShoeRepositories shoeRepo;
    
    @RequestMapping("/shoes")
    public String shoeList(Model model) {
         model.addAttribute("shoes", shoeRepo.findAll());
         return "shoes";
    }

}

这是我的 application.properties:

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

logging.level.org.springframework=INFO

################### DataSource Configuration ##########################
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/Sporty_Shoes
spring.datasource.username=root
spring.datasource.password=MPword@123

################### Hibernate Configuration ##########################

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

当我在示例中到达这一点时,据说运行应用程序将在数据库中创建表,但我得到的只是标题中提到的错误。

现在应该做什么才能使其发挥作用?


我想这个评论是关键。

当我使用 2.7.2 而不是我最初使用的 3.0.0(SnapShot) 时 它开始工作了。

正在阅读文档我们意识到Spring Boot JPA模块的一部分Spring Boot 3发布转向与雅加达持久性 API (JPA)而不是与javax.persistence.api。因此,即使配置正确Spring JPA注释如@EntityScan它没有找到实体。

升级时Spring Boot直到版本 3,Persistence API工件也必须迁移。

有关此更改的更多背景信息,请参阅this其他SO线程。

希望它对其他人有帮助!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.IllegalArgumentException:不是托管类型:类 com.SportyShoe.Entity.Shoe 的相关文章

随机推荐

  • Java 的迁移[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我使用 ruby on Rails 和 Java 当我从事 Rails 项目时 我真的很喜欢使用迁移 所以我想知道是否有类似 Java 的迁移工具
  • 我应该为 Selenium By.XPATH 导入什么?

    新版本的 Selenium 没有任何旧方法 例如 find element by xpath 但它引入了新的 fabrique 方法 find element By XPATH searched string 这是来自的示例文档 veget
  • 多种语言一起编译

    是否可以将多种语言一起编译 以便充分利用不同语言的优点 绝对有可能link如果编译器和链接器全部兼容 则在单独编译它们之后将它们放在一起 如果适当编程 例如 g77 c one f gcc c two c gcc o together on
  • 可变参数模板异构容器

    我需要使用异构元素实现一些可变模板容器类 它允许迭代这些元素 我的第一个想法是使用带有可变参数的 std tuple 成员创建类 但是通过类似数组的方式 通过循环 从元组获取元素是不可能的 struct A void prnt std co
  • 如何在 VB6 中使用 MSHTML 解析器去除所有 HTML 标签?

    如何在 VB6 中使用 MSHTML 解析器去除所有 HTML 标签 这是改编自 CodeGuru 的代码 非常感谢原作者 http www codeguru com vb vb internet html article php c481
  • WriteFile 返回错误 1784

    我正在创建一个程序来使用虚拟文件系统填充磁盘 目前 我正在使用编写可变大小的文件WriteFile WriteFile hFile FileData i 1024 dwWrote NULL err GetLastError 错误返回 178
  • 防止WebView显示“网页不可用”

    我有一个广泛使用 WebView 的应用程序 当此应用程序的用户没有互联网连接时 会出现一个页面 显示 网页不可用 和各种其他文本 有没有办法不在我的 Web 视图中显示此通用文本 我想提供我自己的错误处理 private final Ac
  • LINQ to Entities 无法识别“System.DateTime Parse(System.String)”方法

    我是 Linq 的新手 下面的查询不断返回 无法识别 System DateTime 错误 我尝试过解析和转换 但都不起作用 这是我的查询 mrcEntities 上下文 GetContext var query from c in con
  • 将自定义产品排序设置为默认 Woocommerce 排序选项

    在 Woocommerce 中 我使用以下代码按修改日期向商店目录添加自定义排序选项 add filter woocommerce get catalog ordering args enable catalog ordering by m
  • 单独的日期和时间对象

    我有一个网络表单 用户可以从日历弹出窗口中选择日期 从下拉列表中选择时间 目前我正在尝试使用 Date 对象存储日期 Required public Date date 该对象的输出类似于 1970 年 1 月 1 日 00 00 00 G
  • 发布附件 Facebook Graph API

    现在我正在尝试弄清楚如何使用 facebooks graph api 发布附件 现在我正在使用 attachment array message gt POST tt text gt Download name gt name href g
  • 如何将 long 转换为字符串?

    我需要将很长的推文 ID 转换为字符串 例如 我有 id 39685855740174336 But var dump id prints float 3 9685855740174E 16 我尝试使用获取字符串值strval var du
  • T-SQL - 接收两个数字之间的差距

    我正在使用 SQL Server 2012 我收到了 最大数量 f e 201900005 这告诉我范围从 201900000 开始 这是给定的 现在我想收到这个范围内缺少的数字 我已经查看了几个与此相关的问题 但我似乎无法让它发挥作用 通
  • 正在进行的赋值语句的效率是多少-4gl

    为什么使用赋值语句比不使用赋值更有效 同事们说 assign a 3 v 7 w 8 比以下方法更有效 a 3 v 7 w 8 why 你总是可以自己测试一下 但是 是的 它的效率稍微高一些 或者这是我最后一次测试它 原因是编译器合并了语句
  • jQuery 单击单元格更改为文本框

    我一直在 Google 和 StackOverflow 上查找 但到目前为止还没有找到我想要的东西 如果有人能指出我正确的方向 那就太好了 我有一张 5 行的表 tr th class table check cell th tr
  • 具有大量控件的假滚动容器

    我正在尝试优化 FlowLayoutPanel 的填充和滚动 但我之前遇到过类似控件的问题 如果它们内部有太多控件 则容器需要很长时间才能填充并准备使用 并且滚动条变得越来越短 您可能对此很熟悉 我读过 您可以使用容器矩形可见边界内的控件池
  • 使用 Lambda 和元组发送到多个函数:Python、Tkinter

    column1 H Hydrogen Atomic 1 nAtomic Weight 1 01 nState Gas nCategory Alkali Metals Li Lithium Atomic 3 nAtomic Weight 6
  • 无法在 Java 中加载属性文件

    我正在尝试加载属性文件 属性文件位于应用程序的类路径中 Properties p new Properties p load new FileInputStream classpath mail properties System out
  • 如何使用 Powershell 遍历 JSON 属性

    我正在尝试使用 Powershell 访问 JSON 对象的特定属性值 不幸的是 我不知道结构中某些父属性的键 因此我无法以直接的方式执行此操作 此外 由于 JSON 不是数组 我无法通过索引位置访问 上下文是我正在从 elasticsea
  • java.lang.IllegalArgumentException:不是托管类型:类 com.SportyShoe.Entity.Shoe

    我是 Spring 和 Spring Boot 的新手 我尝试通过以下方式构建一个项目 我在这里找到的一个例子 http www javaguides net 2018 09 spring mvc using spring boot2 js