openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason <jdr0...@renci.org>
Subject Re: column already exists....column reserved word
Date Fri, 27 Apr 2012 15:46:50 GMT
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<jdr0887@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<jdr0887@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<jdr0887@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/*>>
>>>>>> *jira/browse/OPENJPA-84<https:****//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<jdr0887@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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>


Mime
View raw message