openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Sutter <kwsut...@gmail.com>
Subject Re: @Id not loaded when loading an entity
Date Mon, 21 Feb 2011 19:19:02 GMT
Okay, but if there's a problem with the OpenJPA Eclipse plugin, shouldn't
that be fixed?  It sounds like this plugin is not performing the enhancement
processing and, thus, the entities are falling back to the old subclassing
support (which is known to have issues).

Kevin

On Sun, Feb 20, 2011 at 9:07 AM, Rick Curtis <curtisr7@gmail.com> wrote:

> Lucky guess!
>
> Thanks,
> Rick
>
> On Feb 20, 2011, at 2:17 AM, Chris Joysn <joysn71@gmail.com> wrote:
>
> > 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