gpt4 book ai didi

JPA - 有没有办法/方法来检索持久性单元信息

转载 作者:行者123 更新时间:2023-12-01 08:39:15 24 4
gpt4 key购买 nike

我想在代码中找出我的数据源名称。有没有办法做到这一点?我正在使用eclipselink。

谢谢更具体地说,我的目标是获取一个 jdbc 连接对象。我知道我可以做到这一点:

datasource = (DataSource) (new InitialContext()).lookup("my_data_source_name")
connection = dataSource.getConnection();

但我不想在我的代码中硬编码数据源名称。

我也试过了

java.sql.Connection connection = em.unwrap(java.sql.Connection.class);

它总是返回 null。

最佳答案

.unwrap() 应该是要走的路,如 EclipseLink wiki 中所写.

我也曾经在调用 em.unwrap(java.sql.Connection.class); 时得到 null,因为它不在事务中。当这样调用时:

em.getTransaction().begin();
java.sql.Connection conn = em.unwrap(java.sql.Connection.class);
// ...
em.getTransaction().commit();

一切正常!

关于JPA - 有没有办法/方法来检索持久性单元信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6046491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com