获取JTA DataSource属性

时间:2016-03-16 14:07:17

标签: java hibernate jpa

我想获取我的DataSource属性,例如用户名或网址。 这是我的persistence.xml:

<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="defaulttransaction-type="JTA">
        <jta-data-source>MyDataSource</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
    </persistence-unit>
</persistence>

在GlassFish 4.1内部,我分别拥有所需的JDBC资源和JDBC ConnectionPool MyDataSourceMyDataSourceCP。 如果这很有用,MyDataSource为javax.sql.ConnectionPoolDataSource,MyDataSourceCP为oracle.jdbc.pool.OracleConnectionPoolDataSource

MyDataSourceCP配置了一些参数,如URL,用户名和密码。 我想从Java中提取这些属性。

到目前为止,我尝试了以下内容:

  1. How to get jpa datasource properties from Entity Manager
  2. How to retrieve the datasource used by a persistence unit programmatically
  3. JPA - Is there a way/method to retrieve Persistence Unit information
  4. 但没有结果。

    作为@Stoffelchen(在(1)中),我想要像

    这样的东西
    someObject.someMethod( ).getProperties( )
    // or
    someObject.someMethod( ).getProperties( "username" )
    // or
    someObject.someMethod( ).getUserName( )
    

    有没有办法实现这个目标?

    我正在使用Hibernate 4.3。

    提前致谢

0 个答案:

没有答案