在包含DAO的第三部分jar库中,我在使用@PersistenceUnit注入EntityManagerFactory时遇到问题。
这是我的多模块maven项目结构。
-EAR
\-WAR ==> the webapp (maven type war)
\-EJB ==> the service facade (maven type EJB (provided to War)
\CORE ==> the legacy DAO's library (maven type JAR)
我用CDI把所有的东西连接起来==
但是当我把@PersistenceUnit注释放在核心项目中时,它就不起作用了。(该字段为空)
当我在EJB项目中使用@PersistenceUnit时,一切正常。
我的坚持。xml文件位于EJB项目的META-INF文件夹下(但我也试图将其放入核心项目中,但没有成功)。
以下是注射点:
public class HibernateSupport {
@PersistenceUnit
private EntityManagerFactory emf;
...
}
这个类被注入到带有CDI的EJB项目中(它可以工作...但是emf字段为null...)
有人能帮我吗?
编辑:
如果我把我的核心项目变成一个EJB项目(maven类型ejb)。然后它就工作了...但是我希望我的核心项目仍然是一个POJO项目...
编辑2:
生产商代码:
@PersistenceUnit
private EntityManagerFactory emf;
@Produces
public SessionFactory getSessionFactory() {
return ((HibernateEntityManagerFactory)emf).getSessionFactory();
}
尝试以这种方式更改您的代码片段:
public class HibernateSupport {
@PersistenceUnit
private EntityManager em;
...
}
使用annotation@PersistenceUnit
只能注入EJB。您的HibernateSupport
不是EJB。所以,为了解决这个问题,您需要:
HibernateSupport
成为EJB
或者
EntityManager
使用@Inject
,在这里阅读如何执行;请原谅我对Java导入的困惑--我来自Python背景。 然而,Eclipse仍然给出Document对象、DocumentException和FileNotFound异常对象的红色下划线错误。我有权从itextpdf中导入Document类,但我的通配符语句似乎已经涵盖了这一点。有事吗?
我有一个正在使用jar的项目a,比如(其中B是在项目a中用作依赖项的另一个项目),现在有一个(类似于缓存),它在映射中保存所需的所有数据。这个映射bean被project(在我的项目中作为包含)使用,即B来读取缓存属性,但我无法这样做,有什么帮助吗? 项目B的webapp-config.xml 上面的bean b2必须在外部项目B中使用(作为jar包含在我的项目A中)。 但我得到了 任何帮助都将不
我正在用Symfony制作简单的应用程序。我在这里配置了服务 我的服务使用存储库(例如,评论服务使用评论存储库),这里是的构造函数 性质 构造函数: 当我试图运行我的应用程序我得到这个错误 PHP致命错误:未捕获Symfony\Component\DependencyInjection\Exception\AutowiringFailedException:无法自动连线服务“AppBundle\R
我有一个运行大型企业应用程序的场景。 我有一个没有@SpringBootApplication的应用程序,叫做XYZ应用程序。应用程序没有在ABC应用程序中自动连接,ABC应用程序有@SpringBootApplication,我在Intellij中运行它。如何确保在运行应用程序时创建bean 注意:我将XYZ应用程序的JAR作为渐变版本。XYZ api和XYZ impl有单独的JAR。 我得到的
问题内容: 我在Java项目中添加了一些外部库(在netbeans中)。 是否可以将外部jar库放入Java存档(而不是将其放入单独的(例如)“ lib”目录)? 问题答案: 当然可以。可以使用包含所有依赖项的“捆绑罐”下载一些开源项目。 您需要提取所有jar,然后将其再次打包到一个文件中。在此处 可以看到使用Ant进行此操作的示例。
你好, 我试图将jtwitter jar添加到我的项目中。 首先,我试着做了以下几点: