gpt4 book ai didi

java - 实体Bean : Unable to retrieve EntityManagerFactory for unitName null

转载 作者:行者123 更新时间:2023-12-01 04:48:18 24 4
gpt4 key购买 nike

这是我第一次尝试实体 bean,我反复收到以下错误:

java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null

我使用 Netbeans 7.3 和 GlassFish 3.1.2.2 服务器编写了一个简单的实体 Bean 示例。我的 persistance.xml 文件似乎有问题。但是,我无法解决这个问题。我读过

JavaEE 6: java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null

Unable to retrieve EntityManagerFactory for unitName null for simple EJB - 请参阅 nosferatum 答案

但是几个小时后我还没有完全解决这个问题。我附上了目录结构的屏幕截图以及 XML 文件的代码,希望有人能够指出错误。

persistance.xml:(由 NetBeans 自动生成的代码)

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="EnterpriseApplication3-ejbPU" transaction-type="JTA">
<jta-data-source>TestDatabase</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties/>
</persistence-unit>
</persistence>

Project Directory Structure ( Persistance.xml autoplaced by NetBeans

失败代码:

声明:

// This injects the default entity manager factory
@PersistenceUnit
private EntityManagerFactory emf;

调用点:

EntityManager em = emf.createEntityManager();

此外,似乎有一些人这样做:

@PersistenceContext(unitName = "myPU")

并在 persistance.xml 中具有相同的名称。我快速搜索了所有项目文件,但没有找到 @PersistenceContext 注释。但我添加了

@PersistenceContext(unitName = "EnterpriseApplication3-ejbPU")

到我调用 EntityManagerFactory 的代码。但仍然没有成功:(

最佳答案

试试这个:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("EnterpriseApplication3-ejbPU");
EntityManager em = emf.createEntityManager();

关于java - 实体Bean : Unable to retrieve EntityManagerFactory for unitName null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457497/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com