I tried it with the numeric constant, the problem ist almost the same - with that difference that now there are TWO pairs of extra quotes!
Here is the stack trace: <openjpa-2.1.0-r422266:1071316 fatal user error> org.apache.openjpa.persistence.ArgumentException: "com.dcs.dataimport.vesta.objects.Seasontime.boardAdditions" defines a target of """1""" for join column "add_type", but that target does not exist in table "vesta.seasontime". FailedObject: com.dcs.dataimport.vesta.objects.HotelObject@2f63e9a1 [java.lang.String] at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:15 33) at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322) at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1 084) at org.apache.openjpa.jdbc.meta.FieldMappingInfo.getJoin(FieldMappingInfo.java: 213) at org.apache.openjpa.jdbc.meta.FieldMappingInfo.getJoin(FieldMappingInfo.java: 182) at org.apache.openjpa.jdbc.meta.FieldMapping.mapJoin(FieldMapping.java:585) at org.apache.openjpa.jdbc.meta.strats.HandlerCollectionTableFieldStrategy.map( HandlerCollectionTableFieldStrategy.java:108) at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146) at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(Runtim eStrategyInstaller.java:82) at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:4 96) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461) at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:8 54) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1801) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository. java:822) at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository .java:777) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:6 57) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepos itory.java:411) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.ja va:384) at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:247) at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:104) at org.apache.openjpa.kernel.BrokerImpl.attach(BrokerImpl.java:3429) at org.apache.openjpa.kernel.DelegatingBroker.attach(DelegatingBroker.java:1206 ) at org.apache.openjpa.persistence.EntityManagerImpl.merge(EntityManagerImpl.jav a:869) Hopefully it will help. However the error seems to occur before, as the target object is created. I bet on DBIdentifier.setName(String name, boolean delimit). Kind regards, Michael Spiro > -----Ursprüngliche Nachricht----- > Von: Rick Curtis [mailto:curti...@gmail.com] > Gesendet: Freitag, 30. September 2011 15:52 > An: users@openjpa.apache.org > Betreff: Re: Join with a constant value > > Can you post a stack trace of the failure? > > Thanks, > Rick > > On Fri, Sep 30, 2011 at 8:35 AM, Michael Spiro <m.spiro@dcs- > caesar.de>wrote: > > > Hi, > > > > > > > > I've got a problem with OpenJPA trying to make a join with a constant > > value. > > > > > > > > According to the documentation, one can specify a constant value for > a join > > column, so that only records with this value in this column will be > joined. > > The constant value should be specified in the attribute > > "referencedColumnName" of the @JoinColumn annotation. If the constant > is a > > string then its value should be enclosed first in single quotes and > then in > > double quotes like this: > > > > > > > > @JoinColumn(name="table.column", referencedColumnName="'value'") > > > > > > > > However, this declaration fails as I run my application. I debugged > it and > > found out something that looks like a possible bug. The method > MappingInfo. > > mergeJoinColumn() identifies the target of the join as a string > constant if > > its first character is a single quote (as it's described in the > docs). > > However, as this check takes place the value is already enclosed in > one > > extra pair of double quotes (in my example it's " "'value'" ") and > the > > check fails. > > > > > > > > I tried some different variations for the declaration like escaping > the > > quote sign with backslash or using double quotes, but this all > doesn't > > help. > > I'm running OpenJPA 2.1.0 under JDK 1.6.0_25 and Windows, the > default > > locale should be German. Is this a bug or maybe can I succeed with a > > slightly different declaration? > > > > > > > > As workaround I'll try to use a numeric constant, I hope this will > work. > > > > > > > > Kind regards, > > > > Michael Spiro > > > > > > > -- > *Rick Curtis*