openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Curtis <curti...@gmail.com>
Subject Re: @Id not loaded when loading an entity
Date Sun, 20 Feb 2011 15:07:42 GMT
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
View raw message