@PersistenceUnit(unitName="myPU")
private EntityManagerFactory emf;
// ...
Map<String, Object> emProps = new HashMap<String, Object>();
emProps.put(EntityManagerProperties.JTA_DATASOURCE, "jdbc/foobar");
EntityManager em = emf.createEntityManager(emProps);
这里的My作为My EntityManager仍然连接到实际在persistence.xml中指定的JTA数据源。
因此,我开始考虑通过非注入的方式创建EntityManagerFactory(比如使用persistence.createEntityManagerFactory(puName,propMap)
,但在这里,不管persistence.xml或我的属性映射怎么说,我都得到了一个resource_local
EntityManagerFactory!
如何获得启用JTA并与编译时未知的任意数据源名称关联的EntityManager或EntityManagerFactory?
至少在EclipseLink 2.5.2中是这样的:
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PersistenceUnitProperties.TRANSACTION_TYPE, "JTA");
properties.put(PersistenceUnitProperties.JTA_DATASOURCE, "jdbc/foobar");
emf = Persistence.createEntityManagerFactory("myPU", properties);
JpaEntityManagerFactory jemf = (JpaEntityManagerFactory)emf;
WebLogicTransactionController wlstx = new WebLogicTransactionController();
if (jemf.getDatabaseSession() != null && jemf.getDatabaseSession().getExternalTransactionController() == null) {
jemf.getDatabaseSession().setExternalTransactionController(wlstx);
}
if (jemf.getServerSession() != null && jemf.getServerSession().getExternalTransactionController() == null) {
jemf.getServerSession().setExternalTransactionController(wlstx);
}
通过将事务控制器添加到EMF,它将再次与JTA一起登记,并将尊重JTA事务。My persistence.xml为JTA数据源提供了一个虚拟值;我在代码上重写我们就走!
注意:当前的getDatabaseSession()
和getServerSession()
实际上返回完全相同的对象。我可以只设置其中一个,但这是没有文档记录的,您最好安全地设置两个,只是为了确保。
在这种情况下,编译器如何知道typename T将在其上定义一个方法?在Java中,我们可以指定泛型类扩展的接口,但C++显然没有相同的语法。那么,如果我们调用会发生什么呢?
问题内容: 我正在尝试执行以下操作: 但是我收到以下错误: 有人可以告诉我我在做什么错吗? 问题答案: 鉴于演员表并不会 真正 检查事情,我将使用完全原始的版本: 这似乎有效。完整的例子:
我试图使用JTA数据源实例化EntityManager,但我总是得到NullPointerException。这是我的环境:服务器:JBossas7.0JPA:2.0DB:MySQL 坚持不懈xml 在dao类中,我尝试以下方法: 但是当我使用它的getter时,我在这里得到NullPointerExctive: 调试显示它为空。 以下是standalone.xml中的数据源定义: "mysql"
我想在Mac终端中编译C11源代码,但失败了。我尝试了、、和 ,但都没有成功。终端始终读取 。然而, 和类似的东西运行良好(当然,C11源代码无法通过)。 我应该使用哪个选项来打开C 11支持? 顺便说一下,我正在使用的命令行工具安装在Xcode中,我很确定它们是最新的。
有没有办法知道Val的值在编译时或运行时是已知的?我是说我能在IDE或其他地方查一下吗?自从我用谷歌搜索之后,就再也没有关于它的文章了。他们只是指出哪些是在编译时已知的,哪些是在运行时已知的,但没有提到如何知道这一点。 据我所知,如果我将一个基元类型或字符串赋给Val,它的值在编译时就会被知道。相反,如果我指定了一个函数或对象(需要从另一个地方计算或引用该值),它的值在运行时是已知的。但是,有没有
如果属性名称仅在运行时已知,如何读取 Kotlin 数据类实例中的属性值?