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 <[email protected]> wrote: > Lucky guess! > > Thanks, > Rick > > On Feb 20, 2011, at 2:17 AM, Chris Joysn <[email protected]> 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 <[email protected]> > > > >> How are you enhancing your entities? > >> > >> Thanks, > >> Rick > >> > >> On Feb 19, 2011, at 5:07 PM, Chris Joysn <[email protected]> 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 > >> >
