You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by jr...@apache.org on 2009/05/11 23:59:21 UTC
svn commit: r773704 [1/4] - in /openjpa/trunk:
openjpa-kernel/src/main/java/org/apache/openjpa/enhance/
openjpa-kernel/src/main/java/org/apache/openjpa/meta/
openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/
openjpa-persiste...
Author: jrbauer
Date: Mon May 11 21:59:15 2009
New Revision: 773704
URL: http://svn.apache.org/viewvc?rev=773704&view=rev
Log:
OPENJPA-926 Tests and code updates for explicit access types
Added:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperField.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperProperty.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefFieldMixedPropAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefPropMixedFieldAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedFieldAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedId.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedInnerProp.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedMixedAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedOuterField.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedPropAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessPropStratsEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldEmbedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub2.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub3.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperField.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperProperty.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedFieldSub.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMappedSuper.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMultEmbedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedNestedEmbedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropAccessFieldStratsEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropEmbedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropMixedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropertySub.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropertySub2.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropertySub3.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/SuperFieldEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/SuperPropertyEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/TestDefaultAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/TestExplicitAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/TestXMLExplicitAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLAbstractMappedSuperField.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLAbstractMappedSuperProperty.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLDefFieldMixedPropAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLDefPropMixedFieldAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLEmbedFieldAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLEmbedMixedAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLEmbedPropAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLFieldAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLFieldEmbedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLFieldSub.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLFieldSub2.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLFieldSub3.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLMappedSuperField.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLMappedSuperProperty.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLMixedFieldSub.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLMixedMappedSuper.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLPropAccess.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLPropEmbedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLPropMixedEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLPropertySub.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLPropertySub2.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLPropertySub3.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLSuperFieldEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/xml/XMLSuperPropertyEntity.java (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-def-field-orm.xml (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-def-persistence.xml (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-def-prop-orm.xml (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-orm.xml (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-persistence.xml (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-pudef-field-orm.xml (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-pudef-persistence.xml (with props)
openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/access/access-pudef-prop-orm.xml (with props)
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaData.java
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java?rev=773704&r1=773703&r2=773704&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java Mon May 11 21:59:15 2009
@@ -615,6 +615,18 @@
BCField returned, assigned = null;
for (int i = 0; i < fmds.length; i++) {
+ if (!(fmds[i].getBackingMember() instanceof Method) ) {
+ // If not mixed access is not defined, flag the field members,
+ // otherwise do not process them because they are valid
+ // persistent attributes.
+ if (!_meta.isMixedAccess()) {
+ addViolation("property-bad-member",
+ new Object[]{ fmds[i], fmds[i].getBackingMember() },
+ true);
+ }
+ continue;
+ }
+
meth = (Method) fmds[i].getBackingMember();
// ##### this will fail if we override and don't call super.
BCClass declaringType = _managedType.getProject()
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java?rev=773704&r1=773703&r2=773704&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/FieldMetaData.java Mon May 11 21:59:15 2009
@@ -1996,6 +1996,9 @@
return _val.getEmbeddedMetaData();
}
+ public ClassMetaData addEmbeddedMetaData(int access) {
+ return _val.addEmbeddedMetaData(access);
+ }
public ClassMetaData addEmbeddedMetaData() {
return _val.addEmbeddedMetaData();
}
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaData.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaData.java?rev=773704&r1=773703&r2=773704&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaData.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaData.java Mon May 11 21:59:15 2009
@@ -157,6 +157,11 @@
public ClassMetaData addEmbeddedMetaData();
/**
+ * Add embedded metadata for this value with the given access type
+ */
+ public ClassMetaData addEmbeddedMetaData(int access);
+
+ /**
* Cascade behavior for delete operation. Only applies to
* persistence-capable values. Options are:<br />
* <ul>
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java?rev=773704&r1=773703&r2=773704&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/ValueMetaDataImpl.java Mon May 11 21:59:15 2009
@@ -185,18 +185,22 @@
addEmbeddedMetaData();
return _embeddedMeta;
}
-
- public ClassMetaData addEmbeddedMetaData() {
+
+ public ClassMetaData addEmbeddedMetaData(int access) {
MetaDataRepository repos = _owner.getRepository();
_embeddedMeta = repos.newEmbeddedClassMetaData(this);
_embeddedMeta.setDescribedType(_decType);
repos.getMetaDataFactory().getDefaults().populate(_embeddedMeta,
- AccessCode.UNKNOWN);
+ access);
setEmbedded(true);
return _embeddedMeta;
}
+ public ClassMetaData addEmbeddedMetaData() {
+ return addEmbeddedMetaData(AccessCode.UNKNOWN);
+ }
+
public int getCascadeDelete() {
if (_owner.getManagement() != FieldMetaData.MANAGE_PERSISTENT)
return CASCADE_NONE;
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperField.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperField.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperField.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperField.java Mon May 11 21:59:15 2009
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.Basic;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.AccessType;
+
+@MappedSuperclass
+@Access(AccessType.FIELD)
+public abstract class AbstractMappedSuperField {
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ @Basic
+ @Access(AccessType.FIELD)
+ private String name;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ abstract public Date getCreateDate();
+
+ abstract public void setCreateDate(Date date);
+
+ public boolean equals(Object obj) {
+ if (obj instanceof AbstractMappedSuperField) {
+ AbstractMappedSuperField ps = (AbstractMappedSuperField)obj;
+ return id == ps.getId() &&
+ name.equals(ps.getName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperField.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperProperty.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperProperty.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperProperty.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperProperty.java Mon May 11 21:59:15 2009
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.Basic;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.AccessType;
+import javax.persistence.Transient;
+
+@MappedSuperclass
+@Access(AccessType.PROPERTY)
+public abstract class AbstractMappedSuperProperty {
+
+ private int id;
+
+ private String name;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Id
+ @GeneratedValue
+ public int getId() {
+ return id;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Basic
+ @Access(AccessType.PROPERTY)
+ public String getName() {
+ return name;
+ }
+
+ @Transient
+ abstract public Date getCreateDate();
+
+ abstract public void setCreateDate(Date date);
+
+ public boolean equals(Object obj) {
+ if (obj instanceof AbstractMappedSuperProperty) {
+ AbstractMappedSuperProperty ps = (AbstractMappedSuperProperty)obj;
+ return getId() == ps.getId() &&
+ getName().equals(ps.getName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/AbstractMappedSuperProperty.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefFieldMixedPropAccess.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefFieldMixedPropAccess.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefFieldMixedPropAccess.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefFieldMixedPropAccess.java Mon May 11 21:59:15 2009
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Transient;
+import javax.persistence.Version;
+
+import static javax.persistence.AccessType.FIELD;
+import static javax.persistence.AccessType.PROPERTY;
+
+@Entity(name="DFMPA")
+@Access(value=FIELD)
+@NamedQueries( {
+ @NamedQuery(name="DFMPA.query",
+ query="SELECT df FROM DFMPA df WHERE " +
+ "df.id = :id AND df.stringField = :strVal"),
+ @NamedQuery(name="DFMPA.badQuery",
+ query="SELECT p FROM DFMPA p WHERE " +
+ "p.id = :id AND p.strField = :strVal") } )
+public class DefFieldMixedPropAccess {
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ @Version
+ private int version;
+
+ @Transient
+ private String strField;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setVersion(int version) {
+ this.version = version;
+ }
+
+ public int getVersion() {
+ return version;
+ }
+
+ public void setStringField(String val) {
+ this.setStrField(val);
+ }
+
+ @Access(value=PROPERTY)
+ public String getStringField() {
+ return getStrField();
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof DefFieldMixedPropAccess) {
+ DefFieldMixedPropAccess fa = (DefFieldMixedPropAccess)obj;
+ return id == fa.getId() &&
+ getStrField().equals(fa.getStringField());
+ }
+ return false;
+ }
+
+ public void setStrField(String strField) {
+ this.strField = strField;
+ }
+
+ public String getStrField() {
+ return strField;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefFieldMixedPropAccess.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefPropMixedFieldAccess.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefPropMixedFieldAccess.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefPropMixedFieldAccess.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefPropMixedFieldAccess.java Mon May 11 21:59:15 2009
@@ -0,0 +1,87 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Transient;
+import javax.persistence.Version;
+
+import static javax.persistence.AccessType.FIELD;
+import static javax.persistence.AccessType.PROPERTY;
+
+@Entity(name="DPMFA")
+@Access(value=PROPERTY)
+@NamedQueries( {
+ @NamedQuery(name="DPMFA.query",
+ query="SELECT p FROM DPMFA p WHERE " +
+ "p.id = :id AND p.strField = :strVal"),
+ @NamedQuery(name="DPMFA.badQuery",
+ query="SELECT p FROM DPMFA p WHERE " +
+ "p.id = :id AND p.strProp = :strVal") } )
+public class DefPropMixedFieldAccess {
+
+ private int id;
+
+ private int version;
+
+ @Access(value=FIELD)
+ private String strField;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Id
+ @GeneratedValue
+ public int getId() {
+ return id;
+ }
+
+ public void setVersion(int version) {
+ this.version = version;
+ }
+
+ @Version
+ public int getVersion() {
+ return version;
+ }
+
+ public void setStrProp(String var) {
+ this.strField = var;
+ }
+
+ @Transient
+ public String getStrProp() {
+ return strField;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof DefPropMixedFieldAccess) {
+ DefPropMixedFieldAccess dpmfa = (DefPropMixedFieldAccess)obj;
+ return getId() == dpmfa.getId() &&
+ strField.equals(dpmfa.getStrProp());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/DefPropMixedFieldAccess.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedFieldAccess.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedFieldAccess.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedFieldAccess.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedFieldAccess.java Mon May 11 21:59:15 2009
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embeddable;
+
+@Access(AccessType.FIELD)
+@Embeddable
+public class EmbedFieldAccess {
+
+ String fName;
+ String lName;
+
+ public String getFirstName() {
+ return fName;
+ }
+
+ public void setFirstName(String fname) {
+ fName = fname;
+ }
+
+ public String getLastName() {
+ return lName;
+ }
+
+ public void setLastName(String lname) {
+ lName = lname;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof EmbedFieldAccess) {
+ EmbedFieldAccess ps = (EmbedFieldAccess)obj;
+ return getFirstName().equals(ps.getFirstName()) &&
+ getLastName().equals(ps.getLastName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedFieldAccess.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedId.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedId.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedId.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedId.java Mon May 11 21:59:15 2009
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embeddable;
+
+@Embeddable
+@Access(AccessType.FIELD)
+public class EmbedId {
+
+ private long id;
+ private String code;
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(long lid) {
+ id = lid;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String c) {
+ code = c;
+ }
+
+ public int hashCode() {
+ return super.hashCode();
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof EmbedId) {
+ EmbedId eid = (EmbedId)obj;
+ return getId() == eid.getId() &&
+ getCode().equals(eid.getCode());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedId.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedInnerProp.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedInnerProp.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedInnerProp.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedInnerProp.java Mon May 11 21:59:15 2009
@@ -0,0 +1,60 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embeddable;
+import javax.persistence.Embedded;
+
+@Access(AccessType.PROPERTY)
+@Embeddable
+public class EmbedInnerProp {
+
+ private String inName;
+
+ private EmbedOuterField eof;
+
+ public String getInnerName() {
+ return inName;
+ }
+
+ public void setInnerName(String innerName) {
+ inName = innerName;
+ }
+
+ @Embedded
+ public EmbedOuterField getOuterField() {
+ return eof;
+ }
+
+ public void setOuterField(EmbedOuterField eo) {
+ eof = eo;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof EmbedInnerProp) {
+ EmbedInnerProp ps = (EmbedInnerProp)obj;
+
+ return getInnerName().equals(ps.getInnerName()) &&
+ getOuterField().equals(ps.getOuterField());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedInnerProp.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedMixedAccess.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedMixedAccess.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedMixedAccess.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedMixedAccess.java Mon May 11 21:59:15 2009
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embeddable;
+import javax.persistence.Transient;
+
+@Access(AccessType.PROPERTY)
+@Embeddable
+public class EmbedMixedAccess {
+
+ private transient String fName;
+ private transient String lName;
+
+ @Access(AccessType.FIELD)
+ private String mName;
+
+ public String getFirstName() {
+ return fName;
+ }
+
+ public void setFirstName(String fname) {
+ fName = fname;
+ }
+
+ public String getLastName() {
+ return lName;
+ }
+
+ public void setLastName(String lname) {
+ lName = lname;
+ }
+
+ @Transient
+ public String getMiddleName() {
+ return mName;
+ }
+
+ public void setMiddleName(String mname) {
+ mName = mname;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof EmbedMixedAccess) {
+ EmbedMixedAccess ps = (EmbedMixedAccess)obj;
+ return getFirstName().equals(ps.getFirstName()) &&
+ getLastName().equals(ps.getLastName()) &&
+ getMiddleName().equals(ps.getMiddleName());
+ }
+ return false;
+ }
+
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedMixedAccess.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedOuterField.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedOuterField.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedOuterField.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedOuterField.java Mon May 11 21:59:15 2009
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embeddable;
+
+@Access(AccessType.FIELD)
+@Embeddable
+public class EmbedOuterField {
+
+ private String outName;
+
+ public String getOuterName() {
+ return outName;
+ }
+
+ public void setOuterName(String outerName) {
+ outName = outerName;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof EmbedOuterField) {
+ EmbedOuterField ps = (EmbedOuterField)obj;
+ return getOuterName().equals(ps.getOuterName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedOuterField.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedPropAccess.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedPropAccess.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedPropAccess.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedPropAccess.java Mon May 11 21:59:15 2009
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embeddable;
+
+@Access(AccessType.PROPERTY)
+@Embeddable
+public class EmbedPropAccess {
+
+ String fName;
+ String lName;
+
+ public EmbedPropAccess() {
+ }
+
+ public EmbedPropAccess(String fn, String ln) {
+ setFirstName(fn);
+ setLastName(ln);
+ }
+
+ public String getFirstName() {
+ return fName;
+ }
+
+ public void setFirstName(String fname) {
+ fName = fname;
+ }
+
+ public String getLastName() {
+ return lName;
+ }
+
+ public void setLastName(String lname) {
+ lName = lname;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof EmbedPropAccess) {
+ EmbedPropAccess ps = (EmbedPropAccess)obj;
+ return getFirstName().equals(ps.getFirstName()) &&
+ getLastName().equals(ps.getLastName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/EmbedPropAccess.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccess.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccess.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccess.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccess.java Mon May 11 21:59:15 2009
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.Basic;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQuery;
+import javax.persistence.Version;
+
+import static javax.persistence.AccessType.FIELD;
+
+@Entity
+@Access(value=FIELD)
+@NamedQuery(name="FieldAccess.query",
+ query="SELECT fa FROM FieldAccess fa WHERE " +
+ "fa.id = :id AND fa.strField = :strVal")
+public class FieldAccess {
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ @Version
+ private int version;
+
+ @Basic
+ private String strField;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setVersion(int version) {
+ this.version = version;
+ }
+
+ public int getVersion() {
+ return version;
+ }
+
+ public void setStringField(String val) {
+ this.setStrField(val);
+ }
+
+ public String getStringField() {
+ return getStrField();
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof FieldAccess) {
+ FieldAccess fa = (FieldAccess)obj;
+ return id == fa.getId() &&
+ getStrField().equals(fa.getStringField());
+ }
+ return false;
+ }
+
+ public void setStrField(String strField) {
+ this.strField = strField;
+ }
+
+ public String getStrField() {
+ return strField;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccess.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessPropStratsEntity.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessPropStratsEntity.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessPropStratsEntity.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessPropStratsEntity.java Mon May 11 21:59:15 2009
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Collection;
+
+import javax.persistence.Access;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.ElementCollection;
+import javax.persistence.Embedded;
+import javax.persistence.EmbeddedId;
+import javax.persistence.Entity;
+import javax.persistence.AccessType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.Transient;
+import javax.persistence.Version;
+
+@Entity
+@Access(AccessType.FIELD)
+public class FieldAccessPropStratsEntity {
+
+ @EmbeddedId
+ private EmbedId eid;
+
+ @Transient
+ private String name;
+
+ @Transient
+ private PropAccess m2one;
+
+ @Transient
+ private Collection<FieldAccess> one2m;
+
+ @Transient
+ private PropAccess one2one;
+
+ @Transient
+ private Collection<EmbedPropAccess> ecoll;
+
+ @Transient
+ private EmbedFieldAccess embed;
+
+ @Transient
+ private int ver;
+
+ @Transient
+ private Collection<PropAccess> m2m;
+
+ @ElementCollection
+ @Access(AccessType.PROPERTY)
+ public Collection<EmbedPropAccess> getElementCollection() {
+ return ecoll;
+ }
+
+ public void setElementCollection(Collection<EmbedPropAccess> coll) {
+ ecoll = coll;
+ }
+
+ @Embedded
+ @Access(AccessType.PROPERTY)
+ public EmbedFieldAccess getEmbedField() {
+ return embed;
+ }
+
+ public void setEmbedField(EmbedFieldAccess efa) {
+ embed = efa;
+ }
+
+ @Version
+ @Access(AccessType.PROPERTY)
+ public int getVersion() {
+ return ver;
+ }
+
+ public void setVersion(int version) {
+ ver = version;
+ }
+
+ @ManyToOne(cascade=CascadeType.ALL)
+ @Access(AccessType.PROPERTY)
+ public PropAccess getManyToOne() {
+ return m2one;
+ }
+
+ public void setManyToOne(PropAccess pa) {
+ m2one = pa;
+ }
+
+ @OneToMany(cascade=CascadeType.ALL)
+ @Access(AccessType.PROPERTY)
+ public Collection<FieldAccess> getOneToMany() {
+ return one2m;
+ }
+
+ public void setOneToMany(Collection<FieldAccess> c) {
+ one2m = c;
+ }
+
+ @OneToOne(cascade=CascadeType.ALL)
+ @Access(AccessType.PROPERTY)
+ public PropAccess getOneToOne() {
+ return one2one;
+ }
+
+ public void setOneToOne(PropAccess pa) {
+ one2one = pa;
+ }
+
+ @ManyToMany(cascade=CascadeType.ALL)
+ @Access(AccessType.PROPERTY)
+ public Collection<PropAccess> getManyToMany() {
+ return m2m;
+ }
+
+ public void setManyToMany(Collection<PropAccess> many) {
+ m2m = many;
+ }
+
+ @Basic
+ @Access(AccessType.PROPERTY)
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String n) {
+ name = n;
+ }
+
+ public void setEmbedId(EmbedId eid) {
+ this.eid = eid;
+ }
+
+ @EmbeddedId
+ @Access(AccessType.FIELD)
+ public EmbedId getEmbedId() {
+ return eid;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldAccessPropStratsEntity.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldEmbedEntity.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldEmbedEntity.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldEmbedEntity.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldEmbedEntity.java Mon May 11 21:59:15 2009
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Basic;
+import javax.persistence.Embedded;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+
+@Entity
+@Access(AccessType.FIELD)
+@NamedQueries( {
+ @NamedQuery(name="FieldEmbedEntity.query",
+ query="SELECT fs FROM FieldEmbedEntity fs WHERE " +
+ "fs.id = :id AND fs.name = :name AND fs.epa.firstName = :firstName " +
+ "AND fs.epa.lastName = :lastName"),
+ @NamedQuery(name="FieldEmbedEntity.badQuery",
+ query="SELECT fs FROM FieldEmbedEntity fs WHERE " +
+ "fs.id = :id AND fs.name = :name AND fs.epa.fName = :firstName " +
+ "AND fs.epa.lName = :lastName") } )
+public class FieldEmbedEntity {
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ @Basic
+ private String name;
+
+ @Embedded
+ private EmbedPropAccess epa;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public EmbedPropAccess getEPA() {
+ return epa;
+ }
+
+ public void setEPA(EmbedPropAccess ep) {
+ epa = ep;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof FieldEmbedEntity) {
+ FieldEmbedEntity ps = (FieldEmbedEntity)obj;
+ return epa.equals(ps.getEPA()) && id == ps.getId() &&
+ name.equals(ps.getName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldEmbedEntity.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub.java Mon May 11 21:59:15 2009
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Entity;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+@Entity
+@Access(AccessType.FIELD)
+@NamedQueries( {
+ @NamedQuery(name="FieldSub.query",
+ query="SELECT fs FROM FieldSub fs WHERE " +
+ "fs.id = :id AND fs.name = :name AND fs.crtDate = :crtDate"),
+ @NamedQuery(name="FieldSub.badQuery",
+ query="SELECT fs FROM FieldSub fs WHERE " +
+ "fs.id = :id AND fs.name = :name AND fs.createDate = :crtDate") } )
+public class FieldSub extends AbstractMappedSuperProperty {
+
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date crtDate;
+
+ @Override
+ public Date getCreateDate() {
+ return crtDate;
+ }
+
+ @Override
+ public void setCreateDate(Date date) {
+ crtDate = date;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof FieldSub) {
+ FieldSub ps = (FieldSub)obj;
+ return super.equals(obj) &&
+ crtDate.equals(ps.getCreateDate());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub2.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub2.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub2.java Mon May 11 21:59:15 2009
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Entity;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+@Entity
+@Access(AccessType.FIELD)
+@NamedQueries( {
+ @NamedQuery(name="FieldSub2.query",
+ query="SELECT fs FROM FieldSub2 fs WHERE " +
+ "fs.id = :id AND fs.name = :name AND fs.crtDate = :crtDate"),
+ @NamedQuery(name="FieldSub2.badQuery",
+ query="SELECT ps FROM FieldSub2 ps WHERE " +
+ "ps.id = :id AND ps.name = :name AND ps.createDate = :crtDate") } )
+public class FieldSub2 extends MappedSuperProperty {
+
+ protected Date crtDate;
+
+ public Date getCreateDate() {
+ return crtDate;
+ }
+
+ public void setCreateDate(Date date) {
+ crtDate = date;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof FieldSub2) {
+ FieldSub2 ps = (FieldSub2)obj;
+ return super.equals(obj) &&
+ crtDate.equals(ps.getCreateDate());
+ }
+ return false;
+ }
+
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub2.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub3.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub3.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub3.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub3.java Mon May 11 21:59:15 2009
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Entity;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+@Entity
+@Access(AccessType.FIELD)
+@NamedQueries( {
+ @NamedQuery(name="FieldSub3.query",
+ query="SELECT ps FROM FieldSub3 ps WHERE " +
+ "ps.id = :id AND ps.name = :name AND ps.crtDate = :crtDate"),
+ @NamedQuery(name="FieldSub3.badQuery",
+ query="SELECT ps FROM FieldSub3 ps WHERE " +
+ "ps.id = :id AND ps.name = :name AND ps.createDate = :crtDate") } )
+public class FieldSub3 extends SuperPropertyEntity {
+
+ @Temporal(TemporalType.TIMESTAMP)
+ protected Date crtDate;
+
+ public Date getCreateDate() {
+ return crtDate;
+ }
+
+ public void setCreateDate(Date date) {
+ crtDate = date;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof FieldSub3) {
+ FieldSub3 ps = (FieldSub3)obj;
+ return super.equals(obj) &&
+ crtDate.equals(ps.getCreateDate());
+ }
+ return false;
+ }
+
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/FieldSub3.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperField.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperField.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperField.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperField.java Mon May 11 21:59:15 2009
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Basic;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.Transient;
+
+@MappedSuperclass
+@Access(AccessType.FIELD)
+public class MappedSuperField {
+
+ @Id
+ @GeneratedValue
+ private int id;
+
+ @Basic
+ @Access(AccessType.FIELD)
+ private String name;
+
+ @Transient
+ protected Date crtDate;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MappedSuperField) {
+ MappedSuperField ps = (MappedSuperField)obj;
+ return id == ps.getId() &&
+ name.equals(ps.getName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperField.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperProperty.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperProperty.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperProperty.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperProperty.java Mon May 11 21:59:15 2009
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Basic;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+
+@MappedSuperclass
+@Access(AccessType.PROPERTY)
+public class MappedSuperProperty {
+
+ private int id;
+
+ private String name;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Id
+ @GeneratedValue
+ public int getId() {
+ return id;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ @Basic
+ @Access(AccessType.PROPERTY)
+ public String getName() {
+ return name;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MappedSuperProperty) {
+ MappedSuperProperty ps = (MappedSuperProperty)obj;
+ return getId() == ps.getId() &&
+ getName().equals(ps.getName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MappedSuperProperty.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedFieldSub.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedFieldSub.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedFieldSub.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedFieldSub.java Mon May 11 21:59:15 2009
@@ -0,0 +1,76 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Entity;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.persistence.Transient;
+
+@Entity
+@Access(AccessType.FIELD)
+@NamedQueries( {
+ @NamedQuery(name="MixedFieldSub.query",
+ query="SELECT fs FROM MixedFieldSub fs WHERE " +
+ "fs.mid = :id AND fs.name = :name AND fs.createDate = :crtDate " +
+ "AND fs.myField = :myField"),
+ @NamedQuery(name="MixedFieldSub.badQuery",
+ query="SELECT fs FROM MixedFieldSub fs WHERE " +
+ "fs.mid = :id AND fs.name = :name AND fs.myFieldProp = :myField") } )
+public class MixedFieldSub extends MixedMappedSuper {
+
+ private String myField;
+
+ @Transient
+ private Date crtDate;
+
+ @Access(AccessType.PROPERTY)
+ @Temporal(TemporalType.TIMESTAMP)
+ public Date getCreateDate() {
+ return crtDate;
+ }
+
+ public void setCreateDate(Date date) {
+ crtDate = date;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MixedFieldSub) {
+ MixedFieldSub ps = (MixedFieldSub)obj;
+ return super.equals(obj) &&
+ getCreateDate().equals(ps.getCreateDate());
+ }
+ return false;
+ }
+
+ public void setMyFieldProp(String myField) {
+ this.myField = myField;
+ }
+
+ public String getMyFieldProp() {
+ return myField;
+ }
+
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedFieldSub.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMappedSuper.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMappedSuper.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMappedSuper.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMappedSuper.java Mon May 11 21:59:15 2009
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import java.util.Date;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Basic;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import javax.persistence.Transient;
+
+@MappedSuperclass
+@Access(AccessType.PROPERTY)
+public class MixedMappedSuper {
+
+ @Id
+ @GeneratedValue
+ @Access(AccessType.FIELD)
+ private int mid;
+
+ private String mname;
+
+ protected Date crtDate;
+
+ public void setId(int id) {
+ this.mid = id;
+ }
+
+ @Transient
+ public int getId() {
+ return mid;
+ }
+
+ public void setName(String name) {
+ this.mname = name;
+ }
+
+ @Basic
+ @Access(AccessType.PROPERTY)
+ public String getName() {
+ return mname;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MixedMappedSuper) {
+ MixedMappedSuper ps = (MixedMappedSuper)obj;
+ return getId() == ps.getId() &&
+ getName().equals(ps.getName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMappedSuper.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMultEmbedEntity.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMultEmbedEntity.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMultEmbedEntity.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMultEmbedEntity.java Mon May 11 21:59:15 2009
@@ -0,0 +1,110 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embedded;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Transient;
+
+@Entity
+@Access(AccessType.PROPERTY)
+@NamedQueries( {
+ @NamedQuery(name="MixedMultEmbedEntity.query",
+ query="SELECT fs FROM MixedMultEmbedEntity fs WHERE " +
+ "fs.mid = :id AND fs.name = :name AND " +
+ "fs.embedProp.firstName = :firstName AND " +
+ "fs.embedProp.lastName = :lastName AND " +
+ "fs.embedField.fName = :fName AND " +
+ "fs.embedField.lName = :lName"),
+ @NamedQuery(name="MixedMultEmbedEntity.badQuery1",
+ query="SELECT fs FROM MixedMultEmbedEntity fs WHERE " +
+ "fs.mid = :id AND fs.name = :name AND " +
+ "fs.epa = :epa"),
+ @NamedQuery(name="MixedMultEmbedEntity.badQuery2",
+ query="SELECT fs FROM MixedMultEmbedEntity fs WHERE " +
+ "fs.mid = :id AND fs.name = :name AND " +
+ "fs.embedProp = :epa AND " +
+ "fs.embedField.firstName = :firstName AND " +
+ "fs.embedField.lName = :lastName") })
+public class MixedMultEmbedEntity {
+
+ @Id
+ @GeneratedValue
+ @Access(AccessType.FIELD)
+ private int mid;
+
+ private String name;
+
+ private EmbedPropAccess epa;
+
+ private EmbedFieldAccess efa;
+
+ public void setId(int id) {
+ this.mid = id;
+ }
+
+ @Transient
+ public int getId() {
+ return mid;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ @Embedded
+ public EmbedPropAccess getEmbedProp() {
+ return epa;
+ }
+
+ public void setEmbedProp(EmbedPropAccess ep) {
+ epa = ep;
+ }
+
+ @Embedded
+ public EmbedFieldAccess getEmbedField() {
+ return efa;
+ }
+
+ public void setEmbedField(EmbedFieldAccess ef) {
+ efa = ef;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MixedMultEmbedEntity) {
+ MixedMultEmbedEntity ps = (MixedMultEmbedEntity)obj;
+ return getEmbedProp().equals(ps.getEmbedProp()) &&
+ getEmbedField().equals(ps.getEmbedField())
+ && getId() == ps.getId() &&
+ getName().equals(ps.getName());
+ }
+ return false;
+ }
+
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedMultEmbedEntity.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedNestedEmbedEntity.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedNestedEmbedEntity.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedNestedEmbedEntity.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedNestedEmbedEntity.java Mon May 11 21:59:15 2009
@@ -0,0 +1,90 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.AccessType;
+import javax.persistence.Embedded;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.Transient;
+
+@Entity
+@Access(AccessType.FIELD)
+@NamedQueries( {
+ @NamedQuery(name="MixedNestedEmbedEntity.query",
+ query="SELECT fs FROM MixedNestedEmbedEntity fs WHERE " +
+ "fs.id = :id AND fs.name = :name AND " +
+ "fs.eip.innerName = :innerName AND " +
+ "fs.eip.outerField.outName = :outerName"),
+ @NamedQuery(name="MixedNestedEmbedEntity.badQuery",
+ query="SELECT fs FROM MixedNestedEmbedEntity fs WHERE " +
+ "fs.id = :id AND fs.name = :name AND " +
+ "fs.eip.innerName = :innerName AND " +
+ "fs.eip.outerField.outerName = :outerName") })
+public class MixedNestedEmbedEntity {
+
+ @Transient
+ private int mid;
+
+ private String name;
+
+ @Embedded
+ private EmbedInnerProp eip;
+
+ public void setId(int id) {
+ this.mid = id;
+ }
+
+ @Id
+ @GeneratedValue
+ @Access(AccessType.PROPERTY)
+ public int getId() {
+ return mid;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public EmbedInnerProp getEmbedProp() {
+ return eip;
+ }
+
+ public void setEmbedProp(EmbedInnerProp ep) {
+ eip = ep;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MixedNestedEmbedEntity) {
+ MixedNestedEmbedEntity ps = (MixedNestedEmbedEntity)obj;
+ return getEmbedProp().equals(ps.getEmbedProp())
+ && getId() == ps.getId() &&
+ getName().equals(ps.getName());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/MixedNestedEmbedEntity.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropAccess.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropAccess.java?rev=773704&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropAccess.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropAccess.java Mon May 11 21:59:15 2009
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openjpa.persistence.access;
+
+import javax.persistence.Access;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.NamedQuery;
+import javax.persistence.Version;
+
+import static javax.persistence.AccessType.PROPERTY;
+
+@Entity
+@Access(value=PROPERTY)
+@NamedQuery(name="PropertyAccess.query",
+ query="SELECT pa FROM PropAccess pa WHERE " +
+ "pa.id = :id AND pa.strProp = :strVal")
+public class PropAccess {
+
+ private int id;
+
+ private int version;
+
+ private String strField;
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ @Id
+ @GeneratedValue
+ public int getId() {
+ return id;
+ }
+
+ public void setVersion(int version) {
+ this.version = version;
+ }
+
+ @Version
+ public int getVersion() {
+ return version;
+ }
+
+ public void setStrProp(String var) {
+ this.strField = var;
+ }
+
+ public String getStrProp() {
+ return strField;
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof PropAccess) {
+ PropAccess pa = (PropAccess)obj;
+ return getId() == pa.getId() &&
+ getStrProp().equals(pa.getStrProp());
+ }
+ return false;
+ }
+}
Propchange: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/access/PropAccess.java
------------------------------------------------------------------------------
svn:eol-style = native