openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Joysn <joys...@gmail.com>
Subject Re: @Id not loaded when loading an entity
Date Sun, 20 Feb 2011 08:17:01 GMT
That was a good hint :)

i was using the OpenJPA Eclipse Plugin to enhance the entities, and it seems
that
this caused the problem. Now i am enhancing using ant and the PCEnhancerTask
and the loading of the @Id column works.

Thanks,
Chris

2011/2/20 Rick Curtis <curtisr7@gmail.com>

> How are you enhancing your entities?
>
> Thanks,
> Rick
>
> On Feb 19, 2011, at 5:07 PM, Chris Joysn <joysn71@gmail.com> wrote:
>
> > Hello,
> >
> > when i load an entity the id value is not populated. The entity that was
> > created using the following test code has the id attribute set correct,
> > and i can verify this in the database table too, but when i re-read the
> > entity the id attribute is not populated.
> >
> > -----8<-----
> >        em = getEntityManagerFactory().createEntityManager();
> >
> >        EntityTransaction tx = em.getTransaction();
> >        tx.begin();
> >
> >        // insert order
> >
> >        Order order = new Order();
> >        order.setStatus("testStatus");
> >        em.persist(order);
> >
> >        tx.commit();
> >
> >        // verify if order was inserted correct
> >
> >        final String query = "SELECT o FROM Order AS o WHERE o.status =
> ?1";
> >
> >        Query q = em.createQuery(query);
> >        q.setParameter(1, "testStatus");
> >
> >        Order orderLoaded = null;
> >        orderLoaded = (Order) q.getSingleResult();
> >        em.detach(orderLoaded);
> >
> >        assertNotNull(orderLoaded);
> >        assertTrue(orderLoaded.getId() > 0);
> >        assertEquals(order.getStatus(), orderLoaded.getStatus());
> > -----8<-----
> >
> > i am using OpenJPA 2.0.1 with MySQL JDBC 5.1.10 and MySQL Server 5.1.49.
> > with the following entity:
> >
> > @Entity
> > @Table(name="orders")
> > public class Order implements Serializable {
> >
> >    /** serial for Serializable */
> >    private static final long serialVersionUID = -8061887078955032972L;
> >
> >    @Id
> >    @GeneratedValue(strategy = GenerationType.IDENTITY)
> >    private int id;
> >
> >    @Version
> >    private int version;
> >
> >    @Column(nullable = false, length = 50)
> >    private String status;
> >
> >    @Column
> >    private Date created;
> >
> >    ... remaining code skipped ...
> >
> > as i am not able to find a solution via the docs and using the internet,
> can
> > anybody help on why
> > the id column is not populated?
> >
> > Thanks
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message