如何加载persistence.xml?

How to load persistence.xml?

我真正想做的是枚举为应用程序声明的所有持久性单元 (PU)。由于 Whosebug 中的一些回答说 JPA 中不存在这样的服务,该选项似乎是自己解析 persistence.xml 文件并获取在那里声明的所有 PU。

那么,如何加载persistence.xml文件呢?

加载 persistence.xml 意味着为其获取 InputStream。 通常该文件位于 META-INF 目录中。要从那里获取它,您可以使用一个 ClassLoader ,它又可以从您当前的 class:

中检索

InputStream 输入 = this.getClass().getClassLoader().getResourceAsStream("META-INF/persistence.xml");

之后,您可以将其传递给许多 XML 解析库(JAXP、JAXB、dom4j 等)之一以读取所需信息。