如何加载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 等)之一以读取所需信息。
我真正想做的是枚举为应用程序声明的所有持久性单元 (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 等)之一以读取所需信息。