广告
返回顶部
首页 > 资讯 > 后端开发 > Python >解决persistence.xml配置文件修改存放路径的问题
  • 158
分享到

解决persistence.xml配置文件修改存放路径的问题

2024-04-02 19:04:59 158人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录persistence.xml配置文件修改存放路径解决办法有两种持久化persistence.xml配置文件扩展(persistence-unit)persistence.xml

persistence.xml配置文件修改存放路径

今天整合spring、struts2和Spring Data JPA的时候遇到以下问题,现记录以供参考。

<!-- 定义实体管理工厂bean -->
<bean id="entityManagerFactory" class="org.springframework.ORM.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="demo" />
<property name="persistenceXmlLocation" value="classpath:persistence.xml" />
</bean>

按以上代码配置实体管理工厂时将会抛出异常,大意就是找不到persistence.xml文件。

因为我的persistence.xml文件是放在与src同级的resource文件夹内的,而默认会去src下META-INF文件夹加载该配置文件。

解决办法有两种

1、第一种:

将persistence.xml文件移至src/META-INF/下,若不存在该文件夹则手动创建;

2、第二种:

org.springframework.orm.jpa.LocalEntityManagerFactoryBean

改为

org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean

如果要了解实现原理,请自行查看源码。 

持久化persistence.xml配置文件

在EJB中,一个实体Bean应用由实体类和persistence.xml文件文件组成。persistence.xml文件在jar文件的META-INF目录下。persistence.xml文件指定实体Bean使用的数据源及Entity Manager对象的默认行为。

我们来看一个最简单的persistence.xml文件,了解一下它的配置。

<persistence>
  <!-- Name属性用于定义持久化单元的名字 (name必选,空值也合法) -->
  <persistence-unit name="foshanshop">  
    <!-- Jta-data-source 用于指定持久化提供商使用的JTA数据源的全局JNDI名称(可选) --> 
    <jta-data-source>java:/DefaultMysqlDS</jta-data-source>  
    <!-- 厂商专有属性(可选) --> 
    <properties>    
      <!--自动输出schema创建DDL语句 -->
      <property name="hibernate.hbm2ddl.auto" value="create-drop"/>      
    </properties>    
  </persistence-unit>  
</persistence>
  • persistence-unit:节点可以有一个或多个,每个persistence-unit 节点定义了持久化内容名称、使用的数据源以及持久化产品的专有属性。
  • name:属性定义持久化名称。
  • jta-data-source:节点指定实体Bean使用的数据源JNDI名称,如果应用发布在jboss下,数据源名称就必须带有java:/前缀,数据源名称大小写敏感。
  • properties:节点用作指定持久化产品的各项属性。

对于properties 节点需要说明的是,各个应用服务器使用的持久化产品都不一样,如jboss使用的是hibernate,WEBlogic10使用的是kodo。因为jboss采用了hibernate,hibernate有一项属性"hibernate.hbm2ddl.auto",该属性指定实体Bean发布时是否同步数据库结构,如果"hibernate.hbm2ddl.auto"的值设为“create-drop”,在实体发布及卸载时将自动创建及删除相应数据库表。

jboss服务器启动或关闭时也会引发实体Bean的发布及卸载。

ps:如果你的表已经存在,并且想保留数据,发布实体 bean 时可以把 hibernate.hbm2ddl.auto 的值设为 none 或update,以后为了实体 bean 的改动能反应到数据表,建议使用 update,这样实体 Bean 添加一个属性时能同时在数据表增加相应字段。

扩展(persistence-unit)

持久化单元包含的属性有:

  • 在该持久化单元范围(作用域)内的实体类
  • 为实体类提供持久化的持久化提供者(Persistence Provider)或库
  • 实体类的数据源(Data Source)
  • 应用使用的事务类型(Transaction Type)

持久化单元能够被打包成WAR文件,EJB-JAR文件,EAR文件的一部分,或者直接打包成应用程序能够直接使用的JAR文件。

持久化单元的范围(作用域)取决于persistence.xml文件的位置。一般说来,IDE能够使用引导界面来正确放置persistence.xml的位置。例如使用IDE为EJB模块(Module)创建的持久性单元,persistence.xml文件将被放在EJB模块的src/conf目录中,当你将模块打包时,persistence.xml文件被放在EJB JAR文件的META-INF目录中。这样持久化单元的作用域就是EJB JAR文件中的类。

ps:persistence.xml文件的位置决定持久化的根(Persistence Root)。持久化的根为JAR文件或者包含META-INF目录(前提是persistence.xml位于此)的目录。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 解决persistence.xml配置文件修改存放路径的问题

本文链接: https://www.lsjlt.com/news/140438.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 解决persistence.xml配置文件修改存放路径的问题
    目录persistence.xml配置文件修改存放路径解决办法有两种持久化persistence.xml配置文件扩展(persistence-unit)persistence.xml...
    99+
    2022-11-13
  • 如何解决persistence.xml配置文件修改存放路径的问题
    这篇文章主要介绍如何解决persistence.xml配置文件修改存放路径的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!persistence.xml配置文件修改存放路径整合Spring、struts2和Spr...
    99+
    2023-06-29
  • 如何更改Pycharm配置文件的存放路径
    目录引言方法一:1)修改配置2)把老的配置迁移到新的目录了,有两种方法方法二:1)修改配置2)删除原来的配置文件参考:总结引言 pycharm 在运行后会产生大量的配置文件并默认存入...
    99+
    2022-12-10
    pycharm配置文件在哪里 修改python路径 pycharm配置文件路径
  • 怎么更改Pycharm配置文件的存放路径
    这篇“怎么更改Pycharm配置文件的存放路径”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么更改Pycharm配置文件的...
    99+
    2023-07-04
  • 详解java配置文件的路径问题
    详解java配置文件的路径问题各种语言都有自己所支持的配置文件,配置文件中有很多变量是经常改变的。不将程序中的各种变量写死,这样能更方便地脱离程序本身去修改相关变量设置。 那么我们需要读取配置文件,是需要获取配置文件的路径。那么配置文件的路...
    99+
    2023-05-31
    java 配置文件 ava
  • 解决docker修改mysql配置文件的问题
    今天在用docker启动一个5.7的数据库在建表时候遇到下面问题: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and ...
    99+
    2022-10-14
  • 修改mysql 配置文件数据存储路径的方法
    修改mysql 配置文件数据存储路径的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!修改mysql配置文件数据的存储路...
    99+
    2022-10-18
  • 解决Jupyter 文件路径的问题
    在使用Jupyter notebook时有这么一句代码 start_frame = imread(“OwnCollection\vehicles\Left\image0001.p...
    99+
    2022-11-11
  • 关于SpringBoot配置文件application.properties的路径问题
    目录一、项目根目录二、项目根目录下config目录(自己创建)三、项目根目录下resources目录四、项目根目录下resources目录中config目录(自己创建)五、总结Spr...
    99+
    2022-11-13
  • IDEA如何修改配置文件的存放位置
    目录如何修改配置文件的存放位置IDEA读取配置文件1、在IDEA中当使用以下代码读取配置文件时2、创建资源文件如何修改配置文件的存放位置 IDEA配置文件默认是放在C盘的,修改存放位...
    99+
    2022-11-12
  • 如何解决Jupyter文件路径的问题
    这篇文章给大家分享的是有关如何解决Jupyter文件路径的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在使用Jupyter notebook时有这么一句代码start_frame = i...
    99+
    2023-06-14
  • 如何解决Vue不运行修改配置文件的问题
    随着前端开发技术的不断发展,Vue框架成为了一个非常重要的工具。在使用Vue框架进行开发过程中,修改配置文件是一个非常常见的操作。然而,出现不运行修改配置文件的情况也是非常常见的。那么,如何解决这个问题呢?本文将为您介绍如何解决Vue不运行...
    99+
    2023-05-14
  • Vue不运行修改配置文件的问题怎么解决
    这篇文章主要介绍“Vue不运行修改配置文件的问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue不运行修改配置文件的问题怎么解决”文章能帮助大家解决问题。首先,需要明确的是,Vue框架的...
    99+
    2023-07-05
  • python-docx文件路径问题的解决方案
    path = "test.docx"以工程下venv文件夹为父目录 补充:Python读取指定目录下指定后缀文件并保存为docx 最近有个奇葩要求 要项目中的N行代码 申请专利啥的...
    99+
    2022-11-11
  • python-docx文件路径问题的如何解决
    本篇内容主要讲解“python-docx文件路径问题的如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python-docx文件路径问题的如何解决”吧!path = "test....
    99+
    2023-06-09
  • pd.read_csv读取文件路径出现的问题解决
    目录写在前面出现的问题解决问题用相对路径读取数据集完整的代码参考写在前面 在用pd.read_csv读取数据集时,我有2个疑问?1是:写相对路径还是绝对路径。2是:相对路径,绝对路径...
    99+
    2022-11-11
  • 解决python路径错误,运行.py文件,找不到路径的问题
    下面就来说说解决方案吧~ import os import sys curPath = os.path.abspath(os.path.dirname(__file__)) ro...
    99+
    2022-11-11
  • 解决springboot 无法配置多个静态路径的问题
    目录springboot 无法配置多个静态路径需要在启动类里加一段代码如下:springboot静态路径配置遇到的坑按照网上一些博客的说法解决方法springboot 无法配置多个静...
    99+
    2022-11-12
  • Eclipse配置tomcat发布路径的问题wtpwebapps解决办法
    Eclipse配置tomcat发布路径的问题wtpwebapps解决办法Eclipse配置tomcat默认是发布到.metadata\plugins\目录下的,wtpwebapps。这样在实际的tomcat目录下,就找不到发布的项目。那么我...
    99+
    2023-05-31
    eclipse tomcat wtpwebapps
  • 解决Java打包文件路径问题的小技巧!
    Java是一种广泛使用的编程语言,但是在使用Java时,我们经常会遇到一些打包文件路径问题,这些问题可能会给我们带来不便和困扰。为了解决这些问题,我们需要掌握一些小技巧,这篇文章将介绍一些解决Java打包文件路径问题的小技巧。 1.使用相对...
    99+
    2023-10-03
    打包 文件 path
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作