早上好,我正在尝试制作一个数据库脚本执行器。
当 Web 应用程序启动时,将向用户显示可用数据源的列表(在 JBoss AS7 中预先注册)。
选择所需的数据源后,应用程序将根据用户所做的选择使用@PersistenceContext。
说明如何列出我在这里找到的数据源的答案: James R. Perkins - Answer
以及如何从我在这里找到的 JNDI 创建 EntityManagers 的答案: Nayan Wadekar - Answer
我的问题是。可以从 JNDI 定义 @PersistenceContext 吗?如果我不使用声明的 JTA 数据源(“jta-data-source”),我的“persistence.xml”文件将如何?
目前它看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="database" transaction-type="JTA">
<jta-data-source>java:jboss/datasources/DefaultDS</jta-data-source>
<properties>
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
</persistence>
是否有任何教程或源代码示例可以解释此操作的工作原理?
注意:我想控制 JBoss AS 连接池,我不会安排它,我相信 JBoss 会比我创建的任何代码更好地管理池。