发布于2022-12-05 21:54 阅读(1381) 评论(0) 点赞(20) 收藏(2)
我有一个 Java 应用程序,它使用 JDBC 连接到 Postgres 数据库,并使用 JPA 对其执行操作。我希望使用 JTA 事务类型,而不是本地事务类型。为此,我需要指定一个数据源。
尽管阅读了这个线程,但我仍然不知道在 xml 文件中实际放入什么,因为我不知道如何检索我的数据源的名称,和/或在哪里以及如何定义它。
当我使用RESOURCE-LOCAL
事务类型时,与数据库的连接已经没有问题。我浏览过的很多主题都提到在一个名为context.xml
. 一定要这个文件吗?由于在创建 JDBC 数据库连接时没有为我自动生成此类文件,因此我需要手动创建它。
简而言之,如果可以通过添加 使以下文件正常工作
<jta-data-source>something</jta-data-source>
,请告诉我那是什么,或者我如何找到。否则,请告诉我如何以及在何处定义该内容。
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.1"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="BankingPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>banking.Splatka</class>
<class>banking.VlastnikKonta</class>
<class>banking.FyzickaTransakce</class>
<class>banking.Klient</class>
<class>banking.PlatebniKarta</class>
<class>banking.Transakce</class>
<class>banking.Uver</class>
<class>banking.Platba</class>
<class>banking.Konto</class>
<class>banking.BankovniPrevod</class>
<class>DB_control.Transakceprevod</class>
<class>banking.Transakceprevod</class>
<class>banking.TransakcePrevod</class>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://xxxxxxxxxx"/>
<property name="javax.persistence.jdbc.password" value="xxxx"/>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="javax.persistence.jdbc.user" value="xxxxxxxxxxx"/>
<property name="javax.persistence.schema-generation.database.action" value="create"/>
</properties> </persistence-unit> </persistence>
<jta-data-source>something</jta-data-source>
something 将是您在 J2EE 环境中的数据源的 jndi 名称。
当您引用任何数据源时,您不需要将下面的部分放在 persistence.xml 中。
<property name="javax.persistence.jdbc.url" value="jdbc:postgresql://xxxxxxxxxx"/>
<property name="javax.persistence.jdbc.password" value="xxxx"/>
<property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="javax.persistence.jdbc.user" value="xxxxxxxxxxx"/>
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/583485/15bdba5a5fc9235a44c7/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!