正如标题所述,我想知道是否有可能通过部署在Websphere Application Server版本上的企业应用程序中的JNDI查找容器管理的EntityManger(或EntityManagerFactory或PersistenceContext)。 8.5或9.0,而没有通过nmap -sV --script unusual-port --script rdp-enum-encryption -p 13389 -n -Pn -sS -T4 1.2.3.4/10
中的<persistence-context-ref>
/ <persistence-unit-ref>
进行显式引用。
我发现
在JBoss中是可能的 web.xml
输入<property name="jboss.entity.manager.factory.jndi.name" value="persistence-units/JpaPersistence"/>
,但找不到与Websphere类似的内容。
答案 0 :(得分:0)
我相信JPA规范section 7.2.1具有您所需要的信息:
持久性上下文注入示例:
@PersistenceContext(name="persistence-units/JpaPersistence")
EntityManager em;
JNDI查找示例:
@Stateless
@PersistenceContext(name="persistence-units/JpaPersistence")
public class MySessionBean implements MyInterface {
@Resource SessionContext ctx;
public void doSomething() {
EntityManager em = (EntityManager)ctx.lookup("persistence-units/JpaPersistence");
...
}
}
我建议只使用@PersistenceContext而不是手动查找资源来使容器注入引用