How are you enhancing your Entities? If you are using build time, can you
post the enhanced .class file?

Thanks,
Rick

On Wed, Nov 3, 2010 at 8:32 PM, Alex, Huang <[email protected]> wrote:

> Hi Rick,
>
> >How did you get the data into your DB?
> I  insert data at mysql prompt.
> ================================================
> mysql> INSERT INTO t_user(name,age) VALUES ('John', 26);
> Query OK, 1 row affected (0.03 sec)
> ================================================
>
> Now,db's data like below,
> ================================================
> mysql> select * from t_user;
> +-----+--------+-----+
> | uid | name   | age |
> +-----+--------+-----+
> |   1 | Huang  |  26 |
> |   2 | Alex   |  28 |
> |   3 | tester |  22 |
> |   4 | John   |  26 |
> +-----+--------+-----+
> 4 rows in set (0.00 sec)
> ================================================
>
> >What happens if you call em.find(TUser.class, [known_id]) ?
>
> I run the following case, and it completed successful.
> ================================================
>  public void testFind(){
>  EntityManager em = emf.createEntityManager();
>  em.getTransaction().begin();
>   TUser user  = em.find(TUser.class, 2);
>  assertEquals("Alex", user.getName());
>  assertEquals(28, user.getAge());
>  }
> ================================================
>
> After  I added "assertEquals(2,user.getUid());", AssertionFailedError
> occured.
> ================================================
> junit.framework.AssertionFailedError: expected:<2> but was:<0>
> ================================================
>
> >Could you try creating some data and persisting it via JPA?
> OK.I added a method to test case.
> ==========================================
>  public void testInsert(){
>   EntityManager em = emf.createEntityManager();
>  em.getTransaction().begin();
>   TUser user = new TUser();
>  user.setName("Jeason");
>  user.setAge(27);
>  em.persist(user);
>  em.getTransaction().commit();
>  em.close();
>  }
> ==========================================
>
> I run the test case and it completed successful. At mysql prompt I
> confirmed
> the data has been created.
>
> ==========================================
> mysql> select * from t_user;
> +-----+--------+-----+
> | uid | name   | age |
> +-----+--------+-----+
> |   1 | Huang  |  26 |
> |   2 | Alex   |  28 |
> |   3 | tester |  22 |
> |   4 | John   |  26 |
> |   5 | Jeason |  27 |
> +-----+--------+-----+
> 5 rows in set (0.00 sec)
> ==========================================
>
> Look forward to your advance.
> Alex,Huang
> ----- Original Message -----
> From: "Rick Curtis" <[email protected]>
> To: <[email protected]>
> Sent: Thursday, November 04, 2010 5:29 AM
> Subject: Re: Can't obtain Primary Key value by JPQL
>
>
> > That looks about identical to the test case that I came up with.
> >
> >> Any advice?
> > I'm running low on ideas here...  How did you get the data into your DB?
> > What happens if you call em.find(TUser.class, [known_id]) ? Could you try
> > creating some data and persisting it via JPA?
> >
> > Thanks,
> > Rick
> >
>
>
>

Reply via email to