openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Watts <...@cliftonfarm.org>
Subject Re: my fist openjpa porject / problem. help me please
Date Fri, 22 Feb 2013 16:31:23 GMT
On Fri, 2013-02-22 at 10:01 +0100, Aitor Iturriondobeitia wrote:

<snip>

> @PersistenceContext
> protected EntityManager entityManager;
> 

<snip>

> public static void main(String[] args) {
> IWsSrvTrackRequest r = new JpaWsSrvTrackRequestDaoImpl();
> Wssrvtrackrequest v = new Wssrvtrackrequest();
> v.setWssrvreqIp("la ip");
> v.setWssrvreqOid("oid");
> v.setWssrvreqOiduser("oiduser");
> v.setWssrvreqRequest("la request");
> r.persist(v);
> }
> 
You're getting a null pointer exception because you're running this from
main() and magically expecting an EntityManager to be set on r just
because it has an @PersistenceContext.  That annotation is not magic.
It simply advises a *suitably capable CONTAINER* that the annotated
field should be injected with an EntityManager at the appropriate life
cycle event.  Normally, that container would be an EJB container.

As Rick Curtis suggested, if your tutorial said this would work you need
to find a better tutorial.  OpenJPA comes with a pretty good overview of
JPA (but I don't think it's a "tutorial" per se).

--tim

> 
> Can you help me please.
> I cannot get started
> 
> 
> 2013/2/20 Rick Curtis <curtisr7@gmail.com>
> 
> > Where is your EntityManager reference coming from? If you're using
> > injection, I'd suggest looking through the logs for any error / warning
> > messages that would help you figure out what is going on.
> >
> >
> > On Wed, Feb 20, 2013 at 1:50 AM, Aitor Iturriondobeitia <
> > laudio.info@gmail.com> wrote:
> >
> > > this:
> > > public void persist(E entity) {
> > >  entityManager.persist(entity); ** this line
> > > }
> > >
> > > thanks for your answer
> > >
> > >
> > > 2013/2/20 Rick Curtis <curtisr7@gmail.com>
> > >
> > > > What is at com.caf.db.dao.JpaDao.persist(JpaDao.java:20)?
> > > >
> > > >
> > > > On Tue, Feb 19, 2013 at 5:08 PM, Aitor Iturriondobeitia <
> > > > laudio.info@gmail.com> wrote:
> > > >
> > > > > hello
> > > > > i an tring to build my firts openjpa app
> > > > > i am readint this article (
> > > > > http://java.dzone.com/articles/jpa-implementation-patterns) and
> > > building
> > > > > it
> > > > > for this i make this:
> > > > > 1.- generic interface:
> > > > > public interface IGenericDao<K, E> {
> > > > >  void persist(E entity);
> > > > > }
> > > > > 2.- other interface, my interface.
> > > > > public interface IWsSrvTrackRequest  extends IGenericDao<Integer,
> > > > > Wssrvtrackrequest>{
> > > > >  void wsSrvRequestPersist(Wssrvtrackrequest request);
> > > > > }
> > > > > 3.- generic JPA-DAO:
> > > > > public abstract class JpaDao<K, E> implements IGenericDao<K,
E> {
> > > > >  protected Class<E> entityClass;
> > > > >
> > > > >  @PersistenceContext
> > > > >  protected EntityManager entityManager;
> > > > >
> > > > >  public JpaDao() {
> > > > >   ParameterizedType genericSuperclass = (ParameterizedType)
> > > > > getClass().getGenericSuperclass();
> > > > >   this.entityClass = (Class<E>)
> > > > > genericSuperclass.getActualTypeArguments()[1];
> > > > >  }
> > > > >  public void persist(E entity) {
> > > > >   entityManager.persist(entity);
> > > > >  }
> > > > >  }
> > > > > }
> > > > > 4.- my jpa-dao implementation (the Wssrvtrackrequest obj is one jpa
> > > > object
> > > > > (entity)).
> > > > > public class JpaWsSrvTrackRequestDaoImpl extends JpaDao<Integer,
> > > > > Wssrvtrackrequest> implements IWsSrvTrackRequest {
> > > > >  public void wsSrvRequestPersist(Wssrvtrackrequest request){
> > > > >    entityManager.persist(request);
> > > > >  }
> > > > > }
> > > > > i am make one main class:
> > > > > public static void main(String[] args) {
> > > > >   IWsSrvTrackRequest r = new JpaWsSrvTrackRequestDaoImpl();
> > > > >   Wssrvtrackrequest v = new Wssrvtrackrequest();
> > > > >   v.setWssrvreqIp("la ip");
> > > > >   v.setWssrvreqOid("oid");
> > > > >   v.setWssrvreqOiduser("oiduser");
> > > > >   v.setWssrvreqRequest("la request");
> > > > >   r.persist(v);
> > > > >  }
> > > > >
> > > > >  but it always returns one nullpointerexception.
> > > > >  Exception in thread "main" java.lang.NullPointerException
> > > > >  at com.caf.db.dao.JpaDao.persist(JpaDao.java:20)
> > > > >  at com.caf.db.dao.ll.main(ll.java:20)
> > > > >
> > > > >  Can you help me please?
> > > > >
> > > > >  thanks
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > *Rick Curtis*
> > > >
> > >
> >
> >
> >
> > --
> > *Rick Curtis*
> >


Mime
View raw message