在 JPA (EclipseLink 2.4) 中,我需要在 NativeQuery 中指定模式名称:
EntityManager em = emf.createEntityManager();
Query query = em.createNativeQuery("select foo from bar.table");
以上工作,但显然我不喜欢硬编码模式名称,特别是考虑到我已经在 orm.xml 中指定它的事实:
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_2_0.xsd"
version="2.0">
<persistence-unit-metadata>
<persistence-unit-defaults>
<schema>bar</schema>
</persistence-unit-defaults>
</persistence-unit-metadata>
</entity-mappings>
当然必须有一种方法可以在运行时从某个地方获取模式名称?