When SychronizeMappings is set to buildSchema, as it always is for me (in 
head-down development mode), every run of unit tests or app server is prefaced 
by a large collection of spurious warnings. A specimen:
3635  myproj   WARN   [http-8080-Processor24] openjpa.jdbc.Schema - Existing 
column "id" on table "public.share" is incompatible with the same column in the 
given schema definition. Existing column:
Full Name: share.id
Type: char
Size: 32
Default: null
Not Null: true
Given column:
Full Name: Share.id
Type: varchar
Size: 255
Default: null
Not Null: true
Now, the existing column was, of course, originally created (correctly) as a 
char(32) by the same schema update routine, thanks to the following annotation 
on the field in question:
 @Id
 @GeneratedValue(generator = "uuid-hex")
 @Column(columnDefinition = "char(32)")
 public String getId()
 {
  return id;
 }
Why does the schema sync complain? I have tried asking the sync to read schema, 
a la
<property name="openjpa.jdbc.SynchronizeMappings"
    value="buildSchema(ReadSchema=true)" />
but it made no difference.

Thanks,
-- 

Reply via email to