我真正想做的是枚举为应用程序声明的所有持久性单元(PU)。由于StackOverflow中的某些回答表明JPA中不存在这样的服务,因此该选项似乎是我自己解析persistence.xml文件并在那里获取所有声明的PU。
那么,如何加载persistence.xml文件?
答案 0 :(得分:2)
加载persistence.xml
意味着为其获取InputStream
。
通常,该文件位于META-INF
目录中。要从那里获取它,您可以使用ClassLoader
,而该{进而可以从您当前的类中检索它:
InputStream输入= this.getClass()。getClassLoader()。getResourceAsStream(“ META-INF / persistence.xml”);
之后,您可以将其传递给许多XML解析库(JAXP,JAXB,dom4j等)之一,以读取所需的信息。