SparkJava应用程序中带有Guice persist的NullPointer注入EntityManager
我在尝试在Spark+Guice应用程序中注入EntityManager时遇到问题 我的persistence.xml是:SparkJava应用程序中带有Guice persist的NullPointer注入EntityManager,java,hibernate,guice,entitymanager,spark-java,Java,Hibernate,Guice,Entitymanager,Spark Java,我在尝试在Spark+Guice应用程序中注入EntityManager时遇到问题 我的persistence.xml是: <persistence-unit name="jpa-persistence-unit" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <!-- JPA entities
<persistence-unit name="jpa-persistence-unit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!-- JPA entities must be registered here -->
<...>
<properties>
<property name="hibernate.dialect" value="A.Special.Customized.SQLiteDialect" />
<property name="javax.persistence.jdbc.driver" value="org.sqlite.JDBC" />
<property name="javax.persistence.jdbc.url" value="jdbc:sqlite:local.db" />
<property name="javax.persistence.jdbc.user" value="" />
<property name="javax.persistence.jdbc.password" value="" />
<property name="hibernate.show_sql" value="true" />
<property name="format_sql" value="true" />
<property name="hibernate.connection.charSet" value="UTF-8" />
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
我正试图以这种方式注入guice管理的对象(在DeputyService.java中)
两个重要事实:
(如果您觉得自己特别有帮助,并且需要更多的设置细节,请随时询问或访问项目)我错了,Google Guice注入了一个提供者,而不是具体说的实体管理者 因此,将注射从
@Inject
private EntityManager em;
到
@Inject
私人供应商em;
解决了问题。我的错误是,Google Guice注入了一个提供者,而不是具体说的entityManager 因此,将注射从
@Inject
private EntityManager em;
到
@Inject
私人供应商em;
解决了这个问题
@Inject
private EntityManager em;
@Inject
private Provider<EntityManager> em;