Hi, if You defined more persistence units in Your persistence.xml file
you should inject the EntityManager
 by
@Inject
@PersistenceContext(unitName = "unitname")

2013/10/11 Andreas Ernst <a...@ae-online.de>:
> Am 11.10.13 12:55, schrieb Dmitry Gusev:
>
>> Have you read this?
>> http://tapestry.apache.org/integrating-with-jpa.html
>>
>> You should @Inject EntityManager, if you do things right you won't have to
>> create EntityManager instances yourself.
>>
>> Also, saying that you have NPE, it would be nice if you provide us a
>> stacktrace.
>>
>>
>> On Fri, Oct 11, 2013 at 2:48 PM, Andreas Ernst <a...@ae-online.de> wrote:
>>
>>> Hi,
>>>
>>> i am playing with JPA, but there is no useful information about that. A
>>> simple example to display a database table.
>>>
>>> The entities class is in the right package entities. I did not added
>>> something to the AppModule class. The persistence.xml exists.
>>>
>>> Customer.tml
>>>
>>> <html t:type="layout" title="Customer"
>>>
>>> xmlns:t="http://tapestry.**apache.org/schema/tapestry_5_**3.xsd<http://tapestry.apache.org/schema/tapestry_5_3.xsd>
>>> "
>>>        xmlns:p="tapestry:parameter">
>>>    <table t:type="grid" source="customers"/>
>>> </html>
>>>
>>>
>>> Customers.class
>>>
>>> public class Customers {
>>>
>>>    @Property
>>>    private Customer customer;
>>>    private EntityManagerFactory factory;
>>>    private EntityManager entityManager;
>>>    @Inject
>>>    private Logger logger;
>>>    @Inject
>>>    private BeanModelSource beanModelSource;
>>>    @Inject
>>>    private Messages messages;
>>>
>>>    @Log
>>>    public List<Customers> getCustomers() {
>>>      factory = Persistence.**createEntityManagerFactory("**
>>> de.aeits_TapestryWeb_war_1.0-**SNAPSHOTPU");
>>>      entityManager = factory.createEntityManager();
>>>      return entityManager.**createNamedQuery("Customer.**
>>> findAll").getResultList();
>>>    }
>>> }
>>>
>>>
>>> What about the DAO and DAOImpl there are no informations how to use this
>>> classes with a simple query page.
>>>
>>> In all docus i found only
>>> 'entityManager.**createNamedQuery("Customer.**findAll").getResultList();'
>>> is needed, but i get a null pointer expection.
>
>
> Yes, i read that.
>
>
> public class Customers {
>
>   @Property
>   private Customer customer;
>   @Inject
>   private EntityManager entityManager;
>
>   public List<Customers> getCustomers() {
>     return
> entityManager.createNamedQuery("Customer.findAll").getResultList();
>   }
> }
>
> java.lang.RuntimeException: Unable to locate a single EntityManager. You
> must provide the persistence unit name as defined in the persistence.xml
> using the @PersistenceContext annotation.
>         at
> org.apache.tapestry5.internal.jpa.JpaInternalUtils.getEntityManager(JpaInternalUtils.java:92)
>         at
> org.apache.tapestry5.internal.jpa.EntityManagerObjectProvider$1.createObject(EntityManagerObjectProvider.java:62)
>
>
> --
> ae | Andreas Ernst | IT Spektrum
> Postfach 5, 65612 Beselich
> Schupbacher Str. 32, 65614 Beselich, Germany
> Tel: +49-6484-91002 Fax: +49-6484-91003
> a...@ae-online.de | www.ae-online.de
> www.tachyon-online.de
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>
> For additional commands, e-mail: users-h...@tapestry.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to