You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JPA提示no persistence found问题求助,已排查基础配置

排查"no persistence found"错误

已确认问题非重复,检查过文件夹名称及persistence配置文件,也更新了Maven的pom.xml配置(如下),但仍出现"no persistence found"错误。

Maven pom.xml依赖配置

<dependencies>
    
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    
    <!-- JPA -->
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>javax.persistence-api</artifactId>
        <version>2.2</version>
    </dependency>

    <!-- Hibernate (JPA Implementation) -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.5.6.Final</version>
        <scope>compile</scope>
    </dependency>

    <!-- Derby -->
    <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>10.15.2.0</version>
    </dependency>
    
</dependencies>

persistence-unit配置片段

<persistence-unit name="Memories" transaction-type="RESOURCE_LOCAL">

对应DataMapper代码片段

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import com.fcul.memoriesdb.domain.Photograph;

import java.util.List;
 
public class PhotographDataMapper {
 
    private EntityManagerFactory entityManagerFactory;
 
    public PhotographDataMapper() {
        // Create the EntityManagerFactory
        entityManagerFactory = Persistence.createEntityManagerFactory("Memories");

排查方向

  • 检查persistence.xml存放路径:必须放在src/main/resources/META-INF目录下,确保Maven打包时能将其纳入classpath的META-INF目录中。
  • 补全persistence-unit完整配置:当前给出的配置片段不完整,需添加实体类声明和数据库连接参数,示例如下:
    <persistence-unit name="Memories" transaction-type="RESOURCE_LOCAL">
        <class>com.fcul.memoriesdb.domain.Photograph</class>
        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:derby:memoriesDB;create=true"/>
            <property name="javax.persistence.jdbc.user" value=""/>
            <property name="javax.persistence.jdbc.password" value=""/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
        </properties>
    </persistence-unit>
    
  • 验证打包后的文件结构:执行mvn clean package后,检查target/classes/META-INF下是否存在persistence.xml,且内容与配置一致。
  • 确认实体类注解:检查Photograph类是否添加了@Entity注解,且包路径与persistence.xml中<class>声明的完全匹配。

内容的提问来源于stack exchange,提问作者jhonny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 01:10:13