Can you point me to how you were enhancing your Entities... I'd like to get to the bottom of this one.
Thanks, Rick On Fri, Nov 5, 2010 at 12:18 AM, Alex, Huang <[email protected]> wrote: > Hi Rick, > > I got the reason. I always enhance entities by Eclipse plug-in. After got > your clue, I enhanced entities again by using command. And the problem > disappeared. > > Really thank you for all the help. > Alex, Huang > > ----- Original Message ----- > From: "Rick Curtis" <[email protected]> > To: <[email protected]> > Sent: Friday, November 05, 2010 1:20 AM > Subject: Re: Can't obtain Primary Key value by JPQL > > > > 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 > >> > > >> > >> > >> > > > > >
