最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決persistence.xml配置文件修改存放路徑的問(wèn)題

 更新時(shí)間:2022年02月24日 17:08:55   作者:時(shí)光的詩(shī)  
這篇文章主要介紹了解決persistence.xml配置文件修改存放路徑的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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

今天整合Spring、struts2和Spring Data JPA的時(shí)候遇到以下問(wèn)題,現(xiàn)記錄以供參考。

<!-- 定義實(shí)體管理工廠bean -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="demo" />
<property name="persistenceXmlLocation" value="classpath:persistence.xml" />
</bean>

按以上代碼配置實(shí)體管理工廠時(shí)將會(huì)拋出異常,大意就是找不到persistence.xml文件。

因?yàn)槲业膒ersistence.xml文件是放在與src同級(jí)的resource文件夾內(nèi)的,而默認(rèn)會(huì)去src下META-INF文件夾加載該配置文件。

解決辦法有兩種

1、第一種:

將persistence.xml文件移至src/META-INF/下,若不存在該文件夾則手動(dòng)創(chuàng)建;

2、第二種:

org.springframework.orm.jpa.LocalEntityManagerFactoryBean

改為

org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean

如果要了解實(shí)現(xiàn)原理,請(qǐng)自行查看源碼。 

持久化persistence.xml配置文件

在EJB中,一個(gè)實(shí)體Bean應(yīng)用由實(shí)體類和persistence.xml文件文件組成。persistence.xml文件在jar文件的META-INF目錄下。persistence.xml文件指定實(shí)體Bean使用的數(shù)據(jù)源及Entity Manager對(duì)象的默認(rèn)行為。

我們來(lái)看一個(gè)最簡(jiǎn)單的persistence.xml文件,了解一下它的配置。

<persistence>
? <!-- Name屬性用于定義持久化單元的名字 (name必選,空值也合法) -->
? <persistence-unit name="foshanshop">??
? ? <!-- Jta-data-source 用于指定持久化提供商使用的JTA數(shù)據(jù)源的全局JNDI名稱(可選) -->?
? ? <jta-data-source>java:/DefaultMySqlDS</jta-data-source>??
? ? <!-- 廠商專有屬性(可選) -->?
? ? <properties>? ??
? ? ? <!--自動(dòng)輸出schema創(chuàng)建DDL語(yǔ)句 -->
? ? ? <property name="hibernate.hbm2ddl.auto" value="create-drop"/>? ? ??
? ? </properties>? ??
? </persistence-unit>??
</persistence>
  • persistence-unit:節(jié)點(diǎn)可以有一個(gè)或多個(gè),每個(gè)persistence-unit 節(jié)點(diǎn)定義了持久化內(nèi)容名稱、使用的數(shù)據(jù)源以及持久化產(chǎn)品的專有屬性。
  • name:屬性定義持久化名稱。
  • jta-data-source:節(jié)點(diǎn)指定實(shí)體Bean使用的數(shù)據(jù)源JNDI名稱,如果應(yīng)用發(fā)布在jboss下,數(shù)據(jù)源名稱就必須帶有java:/前綴,數(shù)據(jù)源名稱大小寫(xiě)敏感。
  • properties:節(jié)點(diǎn)用作指定持久化產(chǎn)品的各項(xiàng)屬性。

對(duì)于properties 節(jié)點(diǎn)需要說(shuō)明的是,各個(gè)應(yīng)用服務(wù)器使用的持久化產(chǎn)品都不一樣,如jboss使用的是hibernate,weblogic10使用的是kodo。因?yàn)閖boss采用了hibernate,hibernate有一項(xiàng)屬性"hibernate.hbm2ddl.auto",該屬性指定實(shí)體Bean發(fā)布時(shí)是否同步數(shù)據(jù)庫(kù)結(jié)構(gòu),如果"hibernate.hbm2ddl.auto"的值設(shè)為“create-drop”,在實(shí)體發(fā)布及卸載時(shí)將自動(dòng)創(chuàng)建及刪除相應(yīng)數(shù)據(jù)庫(kù)表。

jboss服務(wù)器啟動(dòng)或關(guān)閉時(shí)也會(huì)引發(fā)實(shí)體Bean的發(fā)布及卸載。

ps:如果你的表已經(jīng)存在,并且想保留數(shù)據(jù),發(fā)布實(shí)體 bean 時(shí)可以把 hibernate.hbm2ddl.auto 的值設(shè)為 none 或update,以后為了實(shí)體 bean 的改動(dòng)能反應(yīng)到數(shù)據(jù)表,建議使用 update,這樣實(shí)體 Bean 添加一個(gè)屬性時(shí)能同時(shí)在數(shù)據(jù)表增加相應(yīng)字段。

擴(kuò)展(persistence-unit)

持久化單元包含的屬性有:

  • 在該持久化單元范圍(作用域)內(nèi)的實(shí)體類
  • 為實(shí)體類提供持久化的持久化提供者(Persistence Provider)或庫(kù)
  • 實(shí)體類的數(shù)據(jù)源(Data Source)
  • 應(yīng)用使用的事務(wù)類型(Transaction Type)

持久化單元能夠被打包成WAR文件,EJB-JAR文件,EAR文件的一部分,或者直接打包成應(yīng)用程序能夠直接使用的JAR文件。

持久化單元的范圍(作用域)取決于persistence.xml文件的位置。一般說(shuō)來(lái),IDE能夠使用引導(dǎo)界面來(lái)正確放置persistence.xml的位置。例如使用IDE為EJB模塊(Module)創(chuàng)建的持久性單元,persistence.xml文件將被放在EJB模塊的src/conf目錄中,當(dāng)你將模塊打包時(shí),persistence.xml文件被放在EJB JAR文件的META-INF目錄中。這樣持久化單元的作用域就是EJB JAR文件中的類。

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解SpringBoot通用配置文件(不定時(shí)更新)

    詳解SpringBoot通用配置文件(不定時(shí)更新)

    這篇文章主要介紹了SpringBoot通用配置文件詳解(不定時(shí)更新),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • SpringBoot集成使用Redis及搭建過(guò)程

    SpringBoot集成使用Redis及搭建過(guò)程

    jackson-json 工具提供了 javabean 與 json 之 間的轉(zhuǎn)換能力,可以將 pojo 實(shí)例序列化成 json 格式存儲(chǔ)在 redis 中,也可以將 json 格式的數(shù)據(jù)轉(zhuǎn)換成 pojo 實(shí)例,本文給大家介紹SpringBoot集成使用Redis及搭建過(guò)程,感興趣的朋友一起看看吧
    2022-01-01
  • MyBatis源碼解析之Transaction事務(wù)模塊

    MyBatis源碼解析之Transaction事務(wù)模塊

    這篇文章主要介紹了MyBatis源碼解析之Transaction事務(wù)模塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java設(shè)計(jì)模式之享元模式

    Java設(shè)計(jì)模式之享元模式

    這篇文章介紹了Java設(shè)計(jì)模式之享元模式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • 最新評(píng)論

    泰来县| 栾城县| 通辽市| 专栏| 棋牌| 潜江市| 汶川县| 新源县| 茶陵县| 方正县| 盐城市| 阳曲县| 宣城市| 满洲里市| 寿光市| 梁平县| 尼玛县| 沅江市| 肇州县| 湟源县| 双牌县| 芜湖县| 永康市| 喀喇沁旗| 策勒县| 醴陵市| 奎屯市| 仙桃市| 垣曲县| 达州市| 文山县| 肃宁县| 灵寿县| 阜城县| 宝山区| 夹江县| 温泉县| 聂荣县| 景宁| 翁牛特旗| 贵定县|