gpt4 book ai didi

java - 未知实体类型异常 : Unable to locate persister

转载 作者:行者123 更新时间:2023-12-02 02:01:28 25 4
gpt4 key购买 nike

我想在 Wildfly 上使用 JPA 和 Spring。我尝试了这个配置:

应用程序属性:

spring.jmx.enabled=false
spring.datasource.jndi-name=java:/global/production
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.show-sql = true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect
spring.jpa.hibernate.ddl-auto = create-drop

POM 文件:

    <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath />
</parent>

<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>

配置:

@Configuration
@ComponentScan("org.rest.api.server.*")
public class AppConfig {

@Bean
public EntityManager entityManager(EntityManagerFactory emf) {
return emf.createEntityManager();
}
}

但是当我尝试执行查询时,我得到:

Caused by: org.hibernate.UnknownEntityTypeException: Unable to locate persister: org.rest.api.server.repository.Terminals
10:28:27,539 ERROR [stderr] (default task-1) at org.hibernate.metamodel.internal.MetamodelImpl.locateEntityPersister(MetamodelImpl.java:642)

配置实体的正确方法是什么?也许我需要手动映射它?

最佳答案

当未拾取实体并且未通过 Spring Boot 自动配置创建或映射数据库表时,会引发此错误。为了解决这个问题你需要添加Spring Boot 应用程序类中 @SpringBootApplication 下方的 @EntityScan(basePackages = {"**entities_package_name"})

package com.bill.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;

@SpringBootApplication
@EntityScan( basePackages = {"com.bill.entity"} ) // entities package name
public class BillWebApplication {

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

关于java - 未知实体类型异常 : Unable to locate persister,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51513289/

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