You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Patrick Linskey (JIRA)" <ji...@apache.org> on 2007/03/01 02:26:50 UTC

[jira] Updated: (OPENJPA-86) "uuid-hex" generator does not make affect in orm.xml

     [ https://issues.apache.org/jira/browse/OPENJPA-86?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Patrick Linskey updated OPENJPA-86:
-----------------------------------

        Fix Version/s: 1.0.0
    Affects Version/s: 0.9.6

> "uuid-hex" generator does not make affect in orm.xml
> ----------------------------------------------------
>
>                 Key: OPENJPA-86
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-86
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 0.9.6
>         Environment: JDK 1.5.0_09, eclipse 3.2.1, openjpa-0.9.6-incubating, openjpa-0.9.7-incubating-SNAPSHOT(Nov 20, 2006)
>            Reporter: xiaoxiong duan
>             Fix For: 1.0.0
>
>
> I wish to generate uuid automatically. I modified Message.java in hellojpa example. 
> @Entity
> public class Message {
>     @GeneratedValue(generator="uuid-hex")
>     private String uuid;
>     @Basic
>     private String message;
>     @Basic
>     private Date created = new Date();
>     public Message() {
>     }
>     public Message(String msg) {
>         message = msg;
>     }
>    ...
> and modified Main.java
> ...
>         for (Message m : (List<Message>)q.getResultList()) {
>             System.out.println(m.getMessage()
>                 + " (created on: " + m.getCreated() + ")" + " uuid: " + m.getUuid()); 
>         }
> ...
> I got the output like this, I got the uuid like "7A92CA0039483DD69B808001A9FE0202"
> 2493  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 1398720> executing prepstmnt 30325919 SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = ? FOR UPDATE WITH RR [params=(int) 0]
> 2513  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 1398720> [20 ms] spent
> 2593  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 1398720> executing prepstmnt 16954038 UPDATE OPENJPA_SEQUENCE_TABLE SET SEQUENCE_VALUE = ? WHERE ID = ? AND SEQUENCE_VALUE = ? [params=(long) 101, (int) 0, (long) 51]
> 2613  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 1398720> [20 ms] spent
> 2764  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 31544052> executing prepstmnt 17243268 INSERT INTO Message (id, created, message, uuid) VALUES (?, ?, ?, ?) [params=(long) 51, (Timestamp) 2006-11-21 09:36:23.728, (String) Hello Persistence!, (String) 8808876039483DD6BA4C6A80A9FE0202]
> 2784  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 31544052> [20 ms] spent
> 3194  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 33041076> executing prepstmnt 6576294 SELECT t0.id, t0.created, t0.message, t0.uuid FROM Message t0
> 3194  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 29469766, conn 33041076> [0 ms] spent
> Hello Persistence! (created on: Tue Nov 21 09:36:01 CST 2006) uuid: 7A92CA0039483DD69B808001A9FE0202
> Hello Persistence! (created on: Tue Nov 21 09:36:23 CST 2006) uuid: 8808876039483DD6BA4C6A80A9FE0202
> <END>
> When I changed to orm.xml to define the entity mapping, I add orm.xml in META-INF folder
> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" 
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
>     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd"
>     version="1.0">
> <package>hellojpa</package>
> <entity class="hellojpa.Message" metadata-complete="false" access="PROPERTY">
>       <attributes>
>           <id name="uuid">
>              <generated-value generator="uuid-hex"/>
>           </id>
>           <basic name="message" optional="false">
>           </basic>
>           <basic name="created" optional="false">
>           </basic>
>       </attributes>
> </entity>
> </entity-mappings>
> and modified Message.java 
> ...
> //@Entity
> public class Message {
> //    @GeneratedValue(generator="uuid-hex")
>     private String uuid;
> //    @Basic
>     private String message;
> //    @Basic
>     private Date created = new Date();
>     public Message() {
>     }
> ....
> I got the output like this, A sequence number (1, 51, 101, 151, 201) replaced uuid-hex in output, 
> ....
> 2864  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 10014334> executing prepstmnt 23585701 SELECT SEQUENCE_VALUE FROM OPENJPA_SEQUENCE_TABLE WHERE ID = ? FOR UPDATE WITH RR [params=(int) 0]
> 2864  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 10014334> [0 ms] spent
> 2944  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 10014334> executing prepstmnt 5676128 UPDATE OPENJPA_SEQUENCE_TABLE SET SEQUENCE_VALUE = ? WHERE ID = ? AND SEQUENCE_VALUE = ? [params=(long) 251, (int) 0, (long) 201]
> 2984  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 10014334> [40 ms] spent
> 3044  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 4102111> executing prepstmnt 5057266 INSERT INTO Message (uuid, created, message) VALUES (?, ?, ?) [params=(String) 201, (Timestamp) 2006-11-21 09:22:33.774, (String) Hello Persistence!]
> 3074  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 4102111> [30 ms] spent
> 3495  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 27790058> executing prepstmnt 33108879 SELECT t0.uuid, t0.created, t0.message FROM Message t0
> 3495  hellojpa  TRACE  [main] openjpa.jdbc.SQL - <t 26373776, conn 27790058> [0 ms] spent
> Hello Persistence! (created on: Mon Nov 20 19:10:57 CST 2006) uuid: 1
> Hello Persistence! (created on: Mon Nov 20 19:11:14 CST 2006) uuid: 51
> Hello Persistence! (created on: Mon Nov 20 19:22:01 CST 2006) uuid: 101
> Hello Persistence! (created on: Tue Nov 21 09:21:54 CST 2006) uuid: 151
> Hello Persistence! (created on: Tue Nov 21 09:22:33 CST 2006) uuid: 201
> <END>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.