| From | Sent On | Attachments |
|---|---|---|
| Alex, Huang | Nov 3, 2010 1:50 am | |
| Rick Curtis | Nov 3, 2010 8:21 am | |
| Alex, Huang | Nov 3, 2010 9:55 am | |
| Rick Curtis | Nov 3, 2010 11:02 am | |
| Alex, Huang | Nov 3, 2010 11:06 am | |
| Rick Curtis | Nov 3, 2010 11:30 am | |
| Alex, Huang | Nov 3, 2010 11:39 am | |
| Rick Curtis | Nov 3, 2010 11:47 am | |
| Alex, Huang | Nov 3, 2010 1:18 pm | |
| Rick Curtis | Nov 3, 2010 2:28 pm | |
| Alex, Huang | Nov 3, 2010 6:32 pm | |
| Rick Curtis | Nov 4, 2010 10:20 am | |
| Alex, Huang | Nov 4, 2010 10:18 pm | |
| C N Davies | Nov 4, 2010 11:45 pm | |
| Rick Curtis | Nov 5, 2010 11:43 am | |
| Alex, Huang | Nov 7, 2010 9:38 am | |
| Rick Curtis | Nov 8, 2010 6:16 am | |
| Alex, Huang | Nov 8, 2010 7:27 am | |
| Rick Curtis | Nov 8, 2010 1:05 pm |
| Subject: | Re: Can't obtain Primary Key value by JPQL | |
|---|---|---|
| From: | Alex, Huang (prim...@gmail.com) | |
| Date: | Nov 3, 2010 6:32:29 pm | |
| List: | org.apache.openjpa.users | |
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" <curt...@gmail.com> To: <use...@openjpa.apache.org> 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





