I've not done this before so maybe I'm missing something basic but I have
followed the docs as far as I can see.
I have an Entity User, which I want to have multiple addresses so I simply
added a I thought were the appropriate annotations and members like so:
private Collection <Address> addresses;
*/
public void setAddresses(Collection <Address> addresses) {
this.addresses = addresses;
}
@OneToMany(cascade={CascadeType.ALL})
@JoinColumn(name="id")
public Collection <Address> getAddresses() {
return addresses;
}
As soon as I add the @OneToMany annotation and OpenJPA starts to generate
the tables, it throws an exception complaining I am using both field and
property access, however the exception lists no members using field access
and only 1 using property access so I a not sure why it is telling me I am
using both.
Here is the stack trace, thanks for any advice!:
<openjpa-1.2.0-r422266:683325 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: Type "com.trm.core.User"
attempts to use both field and property access. Only one access method is
permitted. Field access is used on the following fields: []. Property access
is used on the following methods: [public java.util.Collection
com.trm.core.User.getAddresses()].
org.apache.openjpa.meta.AbstractMetaDataDefaults.populate(AbstractMetaDataDe
faults.java:161)
org.apache.openjpa.persistence.PersistenceMetaDataDefaults.populate(Persiste
nceMetaDataDefaults.java:227)
org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.ja
va:794)
org.apache.openjpa.meta.MetaDataRepository.addMetaData(MetaDataRepository.ja
va:780)
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.getMetaDa
ta(AnnotationPersistenceMetaDataParser.java:657)
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parseClas
sAnnotations(AnnotationPersistenceMetaDataParser.java:480)
org.apache.openjpa.persistence.AnnotationPersistenceMetaDataParser.parse(Ann
otationPersistenceMetaDataParser.java:352)
org.apache.openjpa.persistence.PersistenceMetaDataFactory.load(PersistenceMe
taDataFactory.java:229)
org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepos
itory.java:474)
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.ja
va:294)
org.apache.openjpa.jdbc.meta.MappingRepository.getMapping(MappingRepository.
java:285)
org.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:676)
org.apache.openjpa.jdbc.meta.MappingTool.buildSchema(MappingTool.java:748)
org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:646)
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBro
kerFactory.java:153)
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFac
tory.java:119)
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFact
ory.java:189)
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBroker
Factory.java:142)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(
EntityManagerFactoryImpl.java:192)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(
EntityManagerFactoryImpl.java:145)
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(
EntityManagerFactoryImpl.java:56)
com.trm.jpa.services.EntityService.createEntityManager(EntityService.java:73
)
com.trm.jpa.services.EntityService.<init>(EntityService.java:34)
com.trm.beans.backing.CountryListBackingBean.init(CountryListBackingBean.jav
a:28)
com.trm.beans.backing.CountryListBackingBean.<init>(CountryListBackingBean.j
ava:33)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
com.sun.faces.config.ManagedBeanFactoryImpl.newInstance(ManagedBeanFactoryIm
pl.java:275)
com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBea
ns(ApplicationAssociate.java:551)
com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:8
2)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.
java:64)
org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:45)
org.apache.el.parser.AstValue.getValue(AstValue.java:86)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:101
)
javax.faces.component.UIData.getValue(UIData.java:582)
org.ajax4jsf.component.UIDataAdaptor.getValue(UIDataAdaptor.java:1624)