- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 @PersistenceContex 注释将 PersistenceContex 注入(inject) POJO,我读过我需要让 POJO 设法做到这一点。所以我将我的 POJO 类注入(inject)到 servlet 中(所以它现在作为依赖对象管理,对吗?)但是当 servlet 试图从注入(inject)的对象调用 metod 时,我得到错误:
java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName null
public class FileEntityControlerImpl implements FileEntityInterface {
@PersistenceContext
EntityManager entityManager;
@Override
public void createFile(FileEntity fileEntity) {
...}
@Override
public FileEntity retriveFile(String fileName) {
...}
@Inject
FileEntityInterface fileController;
WARNING: StandardWrapperValve[ResourcesServlet]: PWC1406: Servlet.service() for servlet ResourcesServlet threw exception java.lang.IllegalStateException: Unable to retrieve EntityManagerFactory for unitName MambaPU at com.sun.enterprise.container.common.impl.EntityManagerWrapper.init(EntityManagerWrapper.java:121) at com.sun.enterprise.container.common.impl.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:162) at com.sun.enterprise.container.common.impl.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:554) at pl.zawi.mamba.core.integration.controllers.implementation.FileEntityControlerImpl.retriveFile(FileEntityControlerImpl.java:32) at pl.zawi.mamba.core.face.servlets.ResourcesServlet.doGet(ResourcesServlet.java:60) at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:662)
<?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="MambaPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/MambaDB</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<shared-cache-mode>ALL</shared-cache-mode>
<properties>
<!-- <property name="javax.persistence.jdbc.password" value="root"/>-->
<!-- <property name="javax.persistence.jdbc.user" value="root"/>-->
<!-- <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>-->
<!-- <property name="eclipselink.ddl-generation" value="create-tables"/>-->
<!-- <property name="eclipselink.logging.logger" value="org.eclipse.persistence.logging.DefaultSessionLog"/>-->
<property name="eclipselink.logging.level" value="ALL"/>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence>
最佳答案
仅供引用:
您根本不会在 Entity 类上使用 @PersistenceContext 注释。简单地在 POJO 中包含一个 Persistence Unit 将使它们得到管理(将 persistence.xml 和一个空 beans.xml 添加到 POJO 类的 JAR 的 META-INF 文件夹中。
@PersistenceContext 用于 session Bean,其目的是自动将 EntityManager 注入(inject) session bean。
关于java-ee-6 - 如何将@PersistenceContext 注入(inject) pojo 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029571/
我当前在刷新 PersistenceContext 中的数据时遇到问题。我有一个 CMT EJB3 bean,它调用 BMT EJB3 bean。在 BMT bean 中,我对对象执行一些处理逻辑。我
据我了解,交易完成后不会立即刷新。它们位于内存中的缓存中,只有在 EntityManager 确定这样做具有成本效益时才会写入数据库。我相信在这种情况下使用了 L1 缓存,但如果我错了请纠正我。 我的
我创建了一个 PersonDao 对象,它是一个应该使用注入(inject)实体管理器的可注入(inject) bean。问题是 @PersistenceContext() 没有注入(inject)我
根据许多示例,可以像这样将 EntityManager 注入(inject) @Stateless 或 @Singleton EJB: @Stateless // or @Singleton publ
我已经使用多个实体管理器工厂和多个事务管理器定义了多个持久性单元。我知道我可以通过向持久性上下文提供单元名称来访问相应的实体管理器,如下所示。 @PersistenceContext(unitName
我尝试创建 BaseDao 并向其注入(inject) EntityManager。在 Spring 我做了这个: public abstract class BaseJpaDao implement
我正在使用 JPA 2.1,我有这样的东西 public class EntityManagerProducer { @Produces @PersistenceContext(uni
我将 JPA 用于我的应用程序的数据访问层。 我为每个表(实体)都有一个 DAO 类,在每个表中我都通过以下方式获得实体管理器@PersistenceContext 注释。但最近我读到,这意味着我的每
我想这个问题很简单。我不知道该怎么做,我唯一的猜测是: @PersistenceContext("Bibliothouris" + RunParallelized.thread) protected
我正在尝试使用 Delta Spike (@RunWith(CdiTestRunner.class)) 在单元测试中让 CDI(使用 Open Web Beans)工作。依赖注入(inject)工作正
这是我的java类: public class Finder { @PersistenceContext(unitName = "abc") EntityManager em; publi
EntityManager @Inject[ed] 在多个类中是否是线程安全的? @PersistenceContext(unitName="blah") private EntityManager
在几个项目中我已经成功使用 @PersistenceUnit(unitName = "MiddlewareJPA") EntityManagerFactory emf; ... EntityManag
我有两个不同的 EntityManager,我想在其相关 EntityManagerFactory 的遗留类(无 bean) 中使用 @PersistenceContext(name = "entit
基于这个例子: @Service public class Purchase { @PersistenceContext private EntityManager em; @Autowi
我正在使用 Wildfly 创建一个简单的 CRUD 应用程序来管理图书(查找和保留) 但是 EntityManager 总是返回 null。 我尝试了 Persistence.createEntit
我们正在使用 Spring 3.1、JPA(通过 Hibernate)和 Quartz。通常,我们通过 Service bean 上的 @PersistenceContext 注释以及 SpringM
我正在使用 Wildfly 10、Jersey,并使用 @Inject 注入(inject)依赖项。我有 DAO 和 Service 接口(interface),其实现在 CustomBinder 中
我想知道当我调用 session= session.getCurrentSession() 时,hibernate 何时完成上下文 session 问题是我的 dao 中有 2 个方法调用 getCu
尝试通过注释 PersistenceContext 访问 EntityManager 时出现 NullPointerException import javax.ejb.Stateless; impo
我是一名优秀的程序员,十分优秀!