Where do you bind the EntityManager? Is it bound just in time? At runtime do 
you have a container or similar which provides the EntityManager?

Am 28. September 2016 17:20:16 MESZ, schrieb "Robério Cardoso Fernandes" 
<[email protected]>:
>Hi folks,
>I'm doing the unit tests in my project, and I'm trying to use the
>Google 
>Guice. My repository classes have your EntityManagers, and, in my
>project, 
>to specify the persistence unit I have an annotation:
>
>@javax.inject.Qualifier
>@java.lang.annotation.Retention(RUNTIME)
>@java.lang.annotation.Target({FIELD, TYPE, METHOD})
>public @interface ConnectionDatabase {
>}
>
>
>In my repositories the entity managers are injected like this:
>
>public class MyRepository implements IMyRepository {
>
>    @javax.inject.Inject
>    @ConnectionDatabase
>    private javax.persistence.EntityManager entityManager;
>}
>
>
>M ResourceProducer, like this:
>
>public class ResourceProducer {
>
>    @javax.enterprise.inject.Produces
>    @Inject
>    @ConnectionDatabase
>    private javax.persistence.EntityManager entityManager;
>}
>
>
>My Module of Google Guice is like this:
>
>public class ModuleTest extends AbstractModule {
>
>    @Override
>    public void configure() {
>      bind(new TypeLiteral<IMyRepository>() {}).to(MyRepository.class);
>    }
>}
>
>
>I have a persistence.xml with a persistence unit called "TestPU".
>
>
>In my unit tests (or cintegration tests), using the Google Guice, the 
>EntityManager is not injected, and the following error is occurring:
>No implementation for javax.persistence.EntityManager annotated with 
>@ConnectionDatabase() was bound.
>  while locating javax.persistence.EntityManager annotated with 
>@ConnectionDatabase()
>    for field at MyRepository.entityManager(<the line>)
>  at ModuloTest.configure(<the line of the bind "bind(new 
>TypeLiteral<IMyRepository>() {}).to(MyRepository.class)">)
>
>
>Someone here can help me, please?
>
>-- 
>You received this message because you are subscribed to the Google
>Groups "google-guice" group.
>To unsubscribe from this group and stop receiving emails from it, send
>an email to [email protected].
>To post to this group, send email to [email protected].
>Visit this group at https://groups.google.com/group/google-guice.
>To view this discussion on the web visit
>https://groups.google.com/d/msgid/google-guice/aa4d80df-40be-4e47-ba75-89833b20536f%40googlegroups.com.
>For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"google-guice" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-guice.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-guice/C7227655-8A6A-499D-A5B7-FB3D241839E2%40gmx.ch.
For more options, visit https://groups.google.com/d/optout.

Reply via email to