【问题标题】:Get all available persistence-unit names defined in persistence.xml获取在 persistence.xml 中定义的所有可用的持久性单元名称
【发布时间】:2016-07-10 09:06:53
【问题描述】:

我有下面的persistence.xml(只是一个例子),我想检索所有持久性单元名称的集合。在此示例中 a、b 和 c

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
   <persistence-unit name="a">
   </persistence-unit>
   <persistence-unit name="b">
   </persistence-unit>
   <persistence-unit name="c">
   </persistence-unit>
</persistence>

【问题讨论】:

  • JPA 不这样做。只需获取一个 XML 解析器并将其解析出来

标签: java xml jpa


【解决方案1】:

您可以使用此代码获取所有持久性单元名称。

List<ParsedPersistenceXmlDescriptor> persistenceUnits = PersistenceXmlParser.locatePersistenceUnits(new Properties());
    for (ParsedPersistenceXmlDescriptor descriptor : persistenceUnits) {
        AVAILABLE_MODULES_LIST.add(descriptor.getName());
    }

对我来说效果很好。

【讨论】:

  • 请注意,PersistenceXmlParser 是 Hibernate 的一部分。所以该解决方案不适用于其他 JPA 实现
猜你喜欢
  • 2023-03-18
  • 2017-08-18
  • 2014-09-16
  • 2013-08-18
  • 2011-05-25
  • 2012-07-24
  • 1970-01-01
  • 2013-06-10
  • 2016-01-17
相关资源
最近更新 更多