How are you configuring your database connection? On Fri, Apr 27, 2012 at 10:46 AM, Jason <jdr0...@renci.org> wrote:
> Rick, > > Here are my properties: > > <property name="openjpa.jdbc.**MappingDefaults" > value="ForeignKeyDeleteAction=**restrict, > JoinForeignKeyDeleteAction=**restrict" > /> > > <property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, > Tool=INFO, SQL=WARN" /> > > <property name="openjpa.jdbc.**DBDictionary" value="postgres" /> > > <property name="openjpa.DataCache" value="true" /> > > <property name="openjpa.QueryCache" value="true" /> > > > > > > > On 04/27/2012 11:39 AM, Rick Curtis wrote: > >> Jason - >> >> What do you have set for properties in your persistence.xml file? >> >> Thanks, >> Rick >> >> On Fri, Apr 27, 2012 at 9:52 AM, Jason<jdr0...@renci.org> wrote: >> >> Rick, >>> >>> When I set that property, I get the following build time error: >>> >>> [ERROR] Failed to execute goal org.codehaus.mojo:openjpa-**** >>> maven-plugin:1.2:sql >>> >>> (enhancer) on project mapseq-dao-api: Execution enhancer of goal >>> org.codehaus.mojo:openjpa-****maven-plugin:1.2:sql failed: >>> org.apache.openjpa.jdbc.sql.****PostgresDictionary@4896b555.**** >>> supportsDelimitedIdentifiers >>> = false: java.sql.DatabaseMetaData.<****init>(java.lang.String) -> >>> [Help 1] >>> >>> org.apache.maven.lifecycle.****LifecycleExecutionException: Failed to >>> execute goal org.codehaus.mojo:openjpa-****maven-plugin:1.2:sql >>> (enhancer) >>> >>> on project mapseq-dao-api: Execution enhancer of goal >>> org.codehaus.mojo:openjpa-****maven-plugin:1.2:sql failed: >>> org.apache.openjpa.jdbc.sql.****PostgresDictionary@4896b555.**** >>> supportsDelimitedIdentifiers >>> >>> = false >>> >>> >>> >>> The root cause far down the stacktrace is: >>> >>> Caused by: java.lang.****NoSuchMethodException: >>> java.sql.DatabaseMetaData.<* >>> *init>(java.lang.String) >>> >>> at java.lang.Class.****getConstructor0(Class.java:****2723) >>> >>> at java.lang.Class.****getConstructor(Class.java:****1674) >>> >>> at org.apache.openjpa.lib.util.****Options.stringToObject(** >>> >>> Options.java:437) >>> >>> >>> I did try to upgrade from OpenJPA v2.1.1 to v2.2.0, but got the same >>> error. Any other suggestions? >>> >>> Thanks, >>> Jason >>> >>> >>> On 04/26/2012 03:38 PM, Rick Curtis wrote: >>> >>> Jason -- >>>> >>>> I'm able to recreate your failure when running against MySQL and a >>>> hacked >>>> up runtime. Can you try running with the following property[1] set ? >>>> >>>> Thanks, >>>> Rick >>>> >>>> [1]<property name="openjpa.jdbc.****DBDictionary" >>>> value="postgres(****supportsDelimitedIdentifiers=****false)"/> >>>> >>>> >>>> On Thu, Apr 26, 2012 at 10:03 AM, Jason<jdr0...@renci.org> wrote: >>>> >>>> Rick, >>>> >>>>> If I wrap the reserved word in quotes (\"...\"), then the column is >>>>> created correctly. Here is the generated create table sql: >>>>> >>>>> CREATE TABLE xxx (guid BIGINT NOT NULL, approved BOOL, "grant" >>>>> VARCHAR(64), PRIMARY KEY (guid)); >>>>> >>>>> Yet, when I try to persist to that table, OpenJPA runs an "alter table" >>>>> command. Since the column already exists, an exception is thrown. >>>>> >>>>> org.apache.openjpa.******persistence.******PersistenceException: >>>>> ERROR: >>>>> >>>>> column >>>>> >>>>> "grant" of relation "xxx" already exists {stmnt 726853985 ALTER TABLE >>>>> study >>>>> ADD "grant" VARCHAR(64)} [code=0, state=42701] >>>>> at org.apache.openjpa.jdbc.meta.******MappingTool.record(** >>>>> MappingTool.java:558) >>>>> at org.apache.openjpa.jdbc.meta.******MappingTool.record(** >>>>> MappingTool.java:456) >>>>> at org.apache.openjpa.jdbc.******kernel.JDBCBrokerFactory.** >>>>> synchronizeMappings(******JDBCBrokerFactory.java:160) >>>>> at org.apache.openjpa.jdbc.******kernel.JDBCBrokerFactory.** >>>>> synchronizeMappings(******JDBCBrokerFactory.java:164) >>>>> at org.apache.openjpa.jdbc.******kernel.JDBCBrokerFactory.**** >>>>> newBrokerImpl(* >>>>> *JDBCBrokerFactory.java:122) >>>>> at org.apache.openjpa.kernel.******AbstractBrokerFactory.**** >>>>> newBroker(** >>>>> AbstractBrokerFactory.java:******210) >>>>> at org.apache.openjpa.kernel.******DelegatingBrokerFactory.**** >>>>> newBroker(** >>>>> DelegatingBrokerFactory.java:******156) >>>>> >>>>> >>>>> >>>>> >>>>> Regards, >>>>> Jason >>>>> >>>>> >>>>> On 04/25/2012 02:28 PM, Rick Curtis wrote: >>>>> >>>>> Hmm, that is a super old JIRA. I would expect that this should work. >>>>> >>>>>> Your >>>>>> original post said that the exception happens when creating tables... >>>>>> what >>>>>> happens if you create the tables by hand and delimit this table name >>>>>> via >>>>>> annotations (via \"...\")? Does the manual delimiter work at runtime? >>>>>> >>>>>> Thanks, >>>>>> Rick >>>>>> >>>>>> On Wed, Apr 25, 2012 at 11:55 AM, Jason<jdr0...@renci.org> wrote: >>>>>> >>>>>> Rick, >>>>>> >>>>>> I am using OpenJPA v2.1.1. >>>>>>> >>>>>>> I did find this open bug related to the issue:https://issues.apache. >>>>>>> ** >>>>>>> org/*<https://issues.apache.****org/*<https://issues.apache.**org/*<https://issues.apache.org/*> >>>>>>> >> >>>>>>> *jira/browse/OPENJPA-84<https:******//issues.apache.org/jira/****<http://issues.apache.org/jira/**> >>>>>>> >>>>>>> browse/OPENJPA-84<https://**is**sues.apache.org/jira/browse/**** >>>>>>> OPENJPA-84 <http://issues.apache.org/jira/browse/**OPENJPA-84>< >>>>>>> https://issues.**apache.org/jira/browse/**OPENJPA-84<https://issues.apache.org/jira/browse/OPENJPA-84> >>>>>>> > >>>>>>> >>>>>>> >>>>>>> After reading that bug, I figured that I will have to change the name >>>>>>> of >>>>>>> the column to not be a reserved word until this bug is >>>>>>> implemented/fixed. >>>>>>> >>>>>>> Regards, >>>>>>> Jason >>>>>>> >>>>>>> >>>>>>> On 04/25/2012 10:01 AM, Rick Curtis wrote: >>>>>>> >>>>>>> Jason - >>>>>>> >>>>>>> What version of OpenJPA are you running? Can you post the full >>>>>>>> stacktrace? >>>>>>>> >>>>>>>> On Tue, Apr 24, 2012 at 11:56 AM, Jason<jdr0...@renci.org> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> I am using OpenJPA with PostgreSQL. I have a table where a column >>>>>>>> >>>>>>>>> has >>>>>>>>> the >>>>>>>>> name of "grant". How can I get the schema creation routine to wrap >>>>>>>>> the >>>>>>>>> column name "grant" in quotes? Changing the column name is doable, >>>>>>>>> but >>>>>>>>> not >>>>>>>>> preferable. >>>>>>>>> >>>>>>>>> I have tried the brain dead solution of just using: @Column(name = >>>>>>>>> "\"grant\"") >>>>>>>>> >>>>>>>>> But that results in an error...PersistenceException: column already >>>>>>>>> exists. >>>>>>>>> >>>>>>>>> Any suggestions? >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> Jason >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >> > -- *Rick Curtis*