openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From p..@apache.org
Subject svn commit: r627979 [33/39] - in /openjpa/trunk: openjpa-lib/src/test/java/org/apache/openjpa/lib/test/ openjpa-persistence-jdbc/ openjpa-persistence-jdbc/src/test/java/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/ openjpa-per...
Date Fri, 15 Feb 2008 09:20:40 GMT
Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/BlobTest.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/BlobTest.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/BlobTest.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/BlobTest.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,55 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+
+@Entity
+public class BlobTest {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private int id;
+
+    @Column(name = "blobtab")
+    @OneToOne(cascade = { CascadeType.PERSIST, CascadeType.REMOVE })
+    private Object blob;
+
+    public BlobTest() {
+    }
+
+    public void setBlob(Object blob) {
+        this.blob = blob;
+    }
+
+    public byte[] getBlob() {
+        return (byte[]) this.blob;
+    }
+
+    public int getId() {
+        return this.id;
+    }
+}
+

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ByteArray.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ByteArray.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ByteArray.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ByteArray.java Fri Feb 15 01:19:55 2008
@@ -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.kernel.common.apps;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "bytearray")
+public class ByteArray {
+
+    @Id
+    private int ids;
+
+    @Column(length = 50)
+    private String string;
+
+    public byte[] bytes;
+
+    public ByteArray() {
+    }
+
+    public ByteArray(String str, int id) {
+        string = str;
+        this.ids = id;
+    }
+
+    public String getString() {
+        return string;
+    }
+
+    public void setString(String s) {
+        string = s;
+    }
+
+    public byte[] getBytes() {
+        return bytes;
+    }
+
+    public void setBytes(byte[] bs) {
+        bytes = bs;
+    }
+
+    public int getIds() {
+        return ids;
+    }
+
+    public void setIds(int ids) {
+        this.ids = ids;
+    }
+}
+

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/CalendarFields.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/CalendarFields.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/CalendarFields.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/CalendarFields.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,111 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.List;
+import java.util.TimeZone;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "CAL_FLDS")
+public class CalendarFields {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private int id;
+
+    private Calendar unassigned;
+    private Calendar gmt = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+    private Calendar pacific =
+        Calendar.getInstance(TimeZone.getTimeZone("US/Pacific"));
+    private Calendar newYork =
+        Calendar.getInstance(TimeZone.getTimeZone("America/New_York"));
+    private Calendar berlin =
+        Calendar.getInstance(TimeZone.getTimeZone("Europe/Berlin"));
+    private Calendar singapore =
+        Calendar.getInstance(TimeZone.getTimeZone("Asia/Singapore"));
+
+    public CalendarFields() {
+    }
+
+    public void setGmt(Calendar gmt) {
+        this.gmt = gmt;
+    }
+
+    public Calendar getGmt() {
+        return this.gmt;
+    }
+
+    public void setPacific(Calendar pacific) {
+        this.pacific = pacific;
+    }
+
+    public Calendar getPacific() {
+        return this.pacific;
+    }
+
+    public void setNewYork(Calendar newYork) {
+        this.newYork = newYork;
+    }
+
+    public Calendar getNewYork() {
+        return this.newYork;
+    }
+
+    public void setBerlin(Calendar berlin) {
+        this.berlin = berlin;
+    }
+
+    public Calendar getBerlin() {
+        return this.berlin;
+    }
+
+    public void setSingapore(Calendar singapore) {
+        this.singapore = singapore;
+    }
+
+    public Calendar getSingapore() {
+        return this.singapore;
+    }
+
+    public void setUnassigned(Calendar unassigned) {
+        this.unassigned = unassigned;
+    }
+
+    public Calendar getUnassigned() {
+        return this.unassigned;
+    }
+
+    public List getCalendars() {
+        return Arrays.asList(new Calendar[]{
+            unassigned, gmt, pacific, newYork, berlin, singapore
+        });
+    }
+
+    public int getId() {
+        return id;
+    }
+}
+

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ColumnIOPC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ColumnIOPC.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ColumnIOPC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ColumnIOPC.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,104 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "columnpc")
+public class ColumnIOPC {
+
+    @Column(length = 40)
+    private String name;
+
+    @Column(name = "ignsert")
+    private int ignoreInsert;
+
+    @Column(name = "ignpdate")
+    private int ignoreUpdate;
+
+    private int ident;
+
+    @Id
+    private int id;
+
+    @OneToOne(cascade = { CascadeType.PERSIST, CascadeType.REMOVE })
+    private ColumnIOPC rel;
+
+    public ColumnIOPC() {
+
+    }
+
+    public ColumnIOPC(int id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getIgnoreInsert() {
+        return this.ignoreInsert;
+    }
+
+    public void setIgnoreInsert(int ignoreInsert) {
+        this.ignoreInsert = ignoreInsert;
+    }
+
+    public int getIgnoreUpdate() {
+        return this.ignoreUpdate;
+    }
+
+    public void setIgnoreUpdate(int ignoreUpdate) {
+        this.ignoreUpdate = ignoreUpdate;
+    }
+
+    public int getIdent() {
+        return this.ident;
+    }
+
+    public void setIdent(int ident) {
+        this.ident = ident;
+    }
+
+    public ColumnIOPC getRel() {
+        return this.rel;
+    }
+
+    public void setRel(ColumnIOPC rel) {
+        this.rel = rel;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ComplexEmbeddedPC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ComplexEmbeddedPC.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ComplexEmbeddedPC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ComplexEmbeddedPC.java Fri Feb 15 01:19:55 2008
@@ -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.kernel.common.apps;
+
+import java.util.HashSet;
+import java.util.Set;
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToOne;
+
+/**
+ * <p>Embedded type used in testing.</p>
+ *
+ * @author Abe White
+ */
+@Entity
+//@DiscriminatorValue("cep")
+public class ComplexEmbeddedPC //extends RecursivelyEmbeddedPC
+{
+
+    @Basic
+    @Column(name = "cembedstring")
+    private String stringField;
+
+    @OneToOne
+    private EmbeddedOwnerPC ownerField;
+
+    private Set<String> stringSet = new HashSet<String>();
+
+    public String getStringField() {
+        return this.stringField;
+    }
+
+    public void setStringField(String stringField) {
+        this.stringField = stringField;
+    }
+
+    public EmbeddedOwnerPC getOwnerField() {
+        return this.ownerField;
+    }
+
+    public void setOwnerField(EmbeddedOwnerPC ownerField) {
+        this.ownerField = ownerField;
+    }
+
+    public Set getStringSet() {
+        return this.stringSet;
+    }
+
+    public void setStringSet(Set stringSet) {
+        this.stringSet = stringSet;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ConcreteMappedAppIdSub.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ConcreteMappedAppIdSub.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ConcreteMappedAppIdSub.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ConcreteMappedAppIdSub.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,36 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Entity;
+
+@Entity
+public class ConcreteMappedAppIdSub
+    extends AbstractMappedAppIdSuper {
+
+    private String name;
+
+    public String getName() {
+        return this.name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DateVersion.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DateVersion.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DateVersion.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DateVersion.java Fri Feb 15 01:19:55 2008
@@ -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.kernel.common.apps;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "dversion")
+public class DateVersion {
+
+    @Column(length = 35)
+    private String string;
+
+    @Id
+    private int id;
+
+    public DateVersion(String s, int id) {
+        string = s;
+        this.id = id;
+    }
+
+    public void setString(String s) {
+        string = s;
+    }
+
+    public String getString() {
+        return string;
+    }
+
+    public String toString() {
+        return string;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DependentFieldsPC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DependentFieldsPC.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DependentFieldsPC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DependentFieldsPC.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,155 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.ManyToMany;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+
+import org.apache.openjpa.persistence.jdbc.KeyColumn;
+import org.apache.openjpa.persistence.Dependent;
+import org.apache.openjpa.persistence.ElementDependent;
+import org.apache.openjpa.persistence.PersistentMap;
+import org.apache.openjpa.persistence.jdbc.ElementJoinColumn;
+import org.apache.openjpa.persistence.jdbc.ForeignKey;
+import org.apache.openjpa.persistence.jdbc.KeyColumn;
+
+/**
+ * <p>Persistent type used in testing dependent field deletion through
+ * {@link TestDependentFields}.</p>
+ *
+ * @author Abe White
+ */
+@Entity
+@Table(name = "DEPFIELDPC")
+public class DependentFieldsPC {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Column(name = "ID")
+    private long pk;
+
+    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
+    private DependentFieldsPC relation = null;
+
+    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
+    //@ForeignKey(deleteAction=ForeignKeyAction.RESTRICT)
+    @ForeignKey
+    private DependentFieldsPC owner = null;
+
+    @ManyToMany(cascade = CascadeType.PERSIST)
+    private List<DependentFieldsPC> list = new ArrayList();
+
+    @PersistentMap(elementCascade = CascadeType.PERSIST)
+    @KeyColumn(name = "depfpc")
+    private Map<String, DependentFieldsPC> map = new HashMap();
+
+    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
+    @Dependent
+    private DependentFieldsPC dependentRelation = null;
+
+    @ManyToMany(cascade = CascadeType.PERSIST)
+    @ElementDependent
+    private List<DependentFieldsPC> dependentList = new ArrayList();
+
+    @OneToMany(mappedBy = "owner", cascade = CascadeType.PERSIST)
+    @ElementDependent
+    private List<DependentFieldsPC> dependentMappedList = new ArrayList();
+
+    @OneToMany(cascade = CascadeType.PERSIST)
+    @ElementDependent
+    @ElementJoinColumn(name = "DEP_INV_KEY", referencedColumnName = "ID")
+    private List<DependentFieldsPC> dependentInverseKeyList = new ArrayList();
+
+    @PersistentMap(elementCascade = CascadeType.PERSIST)
+    @ElementDependent
+    @KeyColumn(name = "depmap")
+    private Map<String, DependentFieldsPC> dependentMap = new HashMap();
+
+    public DependentFieldsPC() {
+    }
+
+    public long getPK() {
+        return this.pk;
+    }
+
+    public void setPK(long pk) {
+        this.pk = pk;
+    }
+
+    public DependentFieldsPC getRelation() {
+        return this.relation;
+    }
+
+    public void setRelation(DependentFieldsPC relation) {
+        this.relation = relation;
+    }
+
+    public DependentFieldsPC getOwner() {
+        return this.owner;
+    }
+
+    public void setOwner(DependentFieldsPC owner) {
+        this.owner = owner;
+    }
+
+    public List getList() {
+        return this.list;
+    }
+
+    public Map getMap() {
+        return this.map;
+    }
+
+    public DependentFieldsPC getDependentRelation() {
+        return this.dependentRelation;
+    }
+
+    public void setDependentRelation(DependentFieldsPC relation) {
+        this.dependentRelation = relation;
+    }
+
+    public List getDependentList() {
+        return this.dependentList;
+    }
+
+    public List getDependentMappedList() {
+        return this.dependentMappedList;
+    }
+
+    public List getDependentInverseKeyList() {
+        return this.dependentInverseKeyList;
+    }
+
+    public Map getDependentMap() {
+        return this.dependentMap;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DetachSMPC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DetachSMPC.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DetachSMPC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/DetachSMPC.java Fri Feb 15 01:19:55 2008
@@ -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.kernel.common.apps;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import javax.persistence.Entity;
+
+import org.apache.openjpa.persistence.jdbc.KeyColumn;
+import org.apache.openjpa.persistence.PersistentCollection;
+
+@Entity
+public class DetachSMPC
+    implements Serializable {
+
+    private int intField;
+
+    @PersistentCollection
+    private Set relSet = new HashSet();
+    @KeyColumn(name = "strngkey")
+    private Map stringIntMap = new TreeMap();
+
+    public void setIntField(int intField) {
+        this.intField = intField;
+    }
+
+    public int getIntField() {
+        return this.intField;
+    }
+
+    public Set getRelSet() {
+        return this.relSet;
+    }
+
+    public void setStringIntMap(Map stringIntMap) {
+        this.stringIntMap = stringIntMap;
+    }
+
+    public Map getStringIntMap() {
+        return this.stringIntMap;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedOwnerPC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedOwnerPC.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedOwnerPC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedOwnerPC.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,125 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+import javax.persistence.Embedded;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.Table;
+
+import org.apache.openjpa.persistence.jdbc.EmbeddedMapping;
+
+/**
+ * <p>Persistent type used in testing embedded instances.</p>
+ *
+ * @author Abe White
+ */
+@Entity
+@Table(name = "embownpc")
+@IdClass(EmbeddedOwnerPC.EmbKey.class)
+public class EmbeddedOwnerPC {
+
+    @Id
+    private int id1;
+    @Id
+    private int id2;
+    @Basic
+    private String stringField;
+
+    @Embedded
+    @EmbeddedMapping(nullIndicatorAttributeName = "stringField")
+    private EmbeddedPC embedded;
+
+    @Embedded
+    private ComplexEmbeddedPC complexEmbedded;
+
+    protected EmbeddedOwnerPC() {
+    }
+
+    public EmbeddedOwnerPC(int id1, int id2) {
+        this.id1 = id1;
+        this.id2 = id2;
+    }
+
+    public int getId1() {
+        return id1;
+    }
+
+    public int getId2() {
+        return id2;
+    }
+
+    public EmbeddedPC getEmbedded() {
+        return this.embedded;
+    }
+
+    public void setEmbedded(EmbeddedPC embedded) {
+        this.embedded = embedded;
+    }
+
+    public String getStringField() {
+        return this.stringField;
+    }
+
+    public void setStringField(String stringField) {
+        this.stringField = stringField;
+    }
+
+    public ComplexEmbeddedPC getComplexEmbedded() {
+        return this.complexEmbedded;
+    }
+
+    public void setComplexEmbedded(ComplexEmbeddedPC complexEmbedded) {
+        this.complexEmbedded = complexEmbedded;
+    }
+
+    public static class EmbKey implements Serializable {
+
+        public int id1;
+        public int id2;
+
+        public EmbKey() {
+        }
+
+        public EmbKey(String str) {
+            int index = str.indexOf(":");
+            if (index != -1) {
+                id1 = Integer.parseInt(str.substring(0, index));
+                id2 = Integer.parseInt(str.substring(index + 1));
+            }
+        }
+
+        @Override
+        public boolean equals(Object other) {
+            if (!(other instanceof EmbKey))
+                return false;
+
+            EmbKey touse = (EmbKey) other;
+            return touse.id1 == id1 && touse.id2 == id2;
+        }
+
+        @Override
+        public int hashCode() {
+            return (id1 + id2 + "").hashCode();
+        }
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedPC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedPC.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedPC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/EmbeddedPC.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,66 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * <p>Embedded type used in testing.</p>
+ *
+ * @author Abe White
+ */
+@Entity
+@Table(name = "embpc")
+public class EmbeddedPC {
+
+    @Column(name = "embedint")
+    private int intField;
+
+    @Column(name = "embedint1")
+    private int intField1;
+
+    @Column(name = "embedstring")
+    private String stringField;
+
+    public int getIntField() {
+        return this.intField;
+    }
+
+    public void setIntField(int intField) {
+        this.intField = intField;
+    }
+
+    public int getIntField1() {
+        return this.intField1;
+    }
+
+    public void setIntField1(int intField1) {
+        this.intField1 = intField1;
+    }
+
+    public String getStringField() {
+        return this.stringField;
+    }
+
+    public void setStringField(String stringField) {
+        this.stringField = stringField;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity1.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity1.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity1.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity1.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,101 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EntityResult;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+import javax.persistence.OneToOne;
+import javax.persistence.SqlResultSetMapping;
+import javax.persistence.Table;
+import javax.persistence.Version;
+
+@Entity
+@Table(name = "entity_1")
+@Inheritance(strategy = InheritanceType.JOINED)
+@SqlResultSetMapping(name = "NativeTestResult", entities = @EntityResult(
+    entityClass = org.apache.openjpa.persistence.kernel.common.apps.Entity1.class))
+public class Entity1 implements Serializable {
+
+    private static final long serialVersionUID = 2882935803066041165L;
+
+    @Id
+    protected long pk;
+
+    @Basic
+    @Column(length = 35)
+    protected String stringField;
+
+    @Basic
+    protected int intField;
+
+    @OneToOne(cascade = { CascadeType.REMOVE, CascadeType.PERSIST })
+    protected Entity2 entity2Field;
+
+    @Version
+    protected int versionField;
+
+    public Entity1() {
+    }
+
+    public Entity1(long pk, String stringField, int intField) {
+        this.pk = pk;
+        this.stringField = stringField;
+        this.intField = intField;
+    }
+
+    public long getPk() {
+        return pk;
+    }
+
+    public void setStringField(String val) {
+        stringField = val;
+    }
+
+    public String getStringField() {
+        return stringField;
+    }
+
+    public void setIntField(int val) {
+        intField = val;
+    }
+
+    public int getIntField() {
+        return intField;
+    }
+
+    public void setEntity2Field(Entity2 val) {
+        entity2Field = val;
+    }
+
+    public Entity2 getEntity2Field() {
+        return entity2Field;
+    }
+
+    public String toString() {
+        return ("PK: " + pk + " StringField: " + stringField + " IntField: " +
+            intField);
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity2.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity2.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Entity2.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,81 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+
+@Entity(name = "entity2ExplicitName")
+@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
+public class Entity2 implements Serializable {
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 4723739219953167343L;
+
+    @Id
+    protected long pk;
+
+    @Basic
+    @Column(length = 35)
+    protected String stringField;
+
+    @Basic
+    protected int intField;
+
+    public Entity2() {
+    }
+
+    public Entity2(long pk, String stringField, int intField) {
+        this.pk = pk;
+        this.stringField = stringField;
+        this.intField = intField;
+    }
+
+    public long getPk() {
+        return pk;
+    }
+
+    public void setStringField(String val) {
+        stringField = val;
+    }
+
+    public String getStringField() {
+        return stringField;
+    }
+
+    public void setIntField(int val) {
+        intField = val;
+    }
+
+    public int getIntField() {
+        return intField;
+    }
+
+    public String toString() {
+        return ("PK: " + pk + " StringField: " + stringField + " IntField: " +
+            intField);
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ExternalValues.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ExternalValues.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ExternalValues.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/ExternalValues.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,129 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "extnlval")
+public class ExternalValues {
+
+    private boolean booleanToShort;
+    private byte byteToDouble;
+    private int intToFloat;
+    private long longToChar;
+    private short shortToString;
+    private float floatToBoolean;
+    private double doubleToByte;
+    private char charToInt;
+    @Column(length = 50)
+    private String stringToLong;
+    @Id
+    private int id;
+
+    public ExternalValues() {
+    }
+
+    public ExternalValues(int id) {
+        this.id = id;
+    }
+
+    public boolean getBooleanToShort() {
+        return booleanToShort;
+    }
+
+    public void setBooleanToShort(boolean b) {
+        booleanToShort = b;
+    }
+
+    public byte getByteToDouble() {
+        return byteToDouble;
+    }
+
+    public void setByteToDouble(byte b) {
+        byteToDouble = b;
+    }
+
+    public int getIntToFloat() {
+        return intToFloat;
+    }
+
+    public void setIntToFloat(int i) {
+        intToFloat = i;
+    }
+
+    public long getLongToChar() {
+        return longToChar;
+    }
+
+    public void setLongToChar(long l) {
+        longToChar = l;
+    }
+
+    public short getShortToString() {
+        return shortToString;
+    }
+
+    public void setShortToString(short s) {
+        shortToString = s;
+    }
+
+    public double getDoubleToByte() {
+        return doubleToByte;
+    }
+
+    public void setDoubleToByte(double d) {
+        doubleToByte = d;
+    }
+
+    public float getFloatToBoolean() {
+        return floatToBoolean;
+    }
+
+    public void setFloatToBoolean(float f) {
+        floatToBoolean = f;
+    }
+
+    public char getCharToInt() {
+        return charToInt;
+    }
+
+    public void setCharToInt(char c) {
+        charToInt = c;
+    }
+
+    public String getStringToLong() {
+        return stringToLong;
+    }
+
+    public void setStringToLong(String s) {
+        stringToLong = s;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObject.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObject.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObject.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObject.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,157 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.math.BigInteger;
+import java.util.Date;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+import org.apache.openjpa.persistence.FetchAttribute;
+import org.apache.openjpa.persistence.FetchGroup;
+import org.apache.openjpa.persistence.FetchGroups;
+import org.apache.openjpa.persistence.LoadFetchGroup;
+
+@Entity
+@Table(name = "FETCH_GRP_TOBJ")
+@FetchGroups({
+@FetchGroup(name = "g1", attributes = {
+@FetchAttribute(name = "b"),
+@FetchAttribute(name = "c"),
+@FetchAttribute(name = "d")
+    }),
+@FetchGroup(name = "g2", attributes = {
+@FetchAttribute(name = "e"),
+@FetchAttribute(name = "f"),
+@FetchAttribute(name = "g")
+    })
+    })
+public class FetchGroupTestObject {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private int id;
+
+    private int a;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g1")
+    private String b;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g1")
+    private BigInteger c;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g1")
+    @Temporal(TemporalType.DATE)
+    private Date d;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g2")
+    private String e;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g2")
+    private String f;
+
+    @OneToOne(cascade = { CascadeType.PERSIST }, fetch = FetchType.LAZY)
+    @LoadFetchGroup("g2")
+    private FetchGroupTestObject g;
+
+    @OneToOne(cascade = { CascadeType.PERSIST })
+    private FetchGroupTestObject h;
+
+    public int getId() {
+        return this.id;
+    }
+
+    public void setA(int val) {
+        a = val;
+    }
+
+    public int getA() {
+        return a;
+    }
+
+    public void setB(String val) {
+        b = val;
+    }
+
+    public String getB() {
+        return b;
+    }
+
+    public void setC(BigInteger val) {
+        c = val;
+    }
+
+    public BigInteger getC() {
+        return c;
+    }
+
+    public void setD(Date val) {
+        d = val;
+    }
+
+    public Date getD() {
+        return d;
+    }
+
+    public void setE(String val) {
+        e = val;
+    }
+
+    public String getE() {
+        return e;
+    }
+
+    public void setF(String val) {
+        f = val;
+    }
+
+    public String getF() {
+        return f;
+    }
+
+    public void setG(FetchGroupTestObject val) {
+        g = val;
+    }
+
+    public FetchGroupTestObject getG() {
+        return g;
+    }
+
+    public void setH(FetchGroupTestObject val) {
+        h = val;
+    }
+
+    public FetchGroupTestObject getH() {
+        return h;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObjectChild.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObjectChild.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObjectChild.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/FetchGroupTestObjectChild.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,91 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Basic;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+
+import org.apache.openjpa.persistence.FetchAttribute;
+import org.apache.openjpa.persistence.FetchGroup;
+import org.apache.openjpa.persistence.FetchGroups;
+import org.apache.openjpa.persistence.LoadFetchGroup;
+
+@Entity
+@DiscriminatorValue("FETCH_GRP_TOBJCHILD")
+@FetchGroups({
+@FetchGroup(name = "g1", attributes = {
+@FetchAttribute(name = "childB")
+    }),
+@FetchGroup(name = "g2", attributes = {
+@FetchAttribute(name = "childC")
+    }),
+@FetchGroup(name = "g3", attributes = {
+@FetchAttribute(name = "childD")
+    })
+    })
+public class FetchGroupTestObjectChild extends FetchGroupTestObject {
+
+    private int childA;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g1")
+    private int childB;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g2")
+    private int childC;
+
+    @Basic(fetch = FetchType.LAZY)
+    @LoadFetchGroup("g3")
+    private int childD;
+
+    public void setChildA(int val) {
+        childA = val;
+    }
+
+    public int getChildA() {
+        return childA;
+    }
+
+    public void setChildB(int val) {
+        childB = val;
+    }
+
+    public int getChildB() {
+        return childB;
+    }
+
+    public void setChildC(int val) {
+        childC = val;
+    }
+
+    public int getChildC() {
+        return childC;
+    }
+
+    public void setChildD(int val) {
+        childD = val;
+    }
+
+    public int getChildD() {
+        return childD;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Inner.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Inner.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Inner.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Inner.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,62 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Basic;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "nullvalue")
+public class Inner {
+
+    @Basic
+    private Integer none = null;
+    @Basic(optional = false)
+    private Integer exception = null;
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private int Id;
+
+    public Inner() {
+    }
+
+    public int getId() {
+        return Id;
+    }
+
+    public Integer getNone() {
+        return none;
+    }
+
+    public Integer getException() {
+        return exception;
+    }
+
+    public void setNone(Integer val) {
+        none = val;
+    }
+
+    public void setException(Integer val) {
+        exception = val;
+    }
+}
\ No newline at end of file

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InstanceCallbacksTest.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InstanceCallbacksTest.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InstanceCallbacksTest.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InstanceCallbacksTest.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,186 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.OneToOne;
+import javax.persistence.PostLoad;
+import javax.persistence.PrePersist;
+import javax.persistence.PreRemove;
+import javax.persistence.PreUpdate;
+import javax.persistence.Table;
+
+import org.apache.openjpa.persistence.OpenJPAEntityManager;
+import org.apache.openjpa.persistence.OpenJPAPersistence;
+
+/**
+ * Used in testing; should be enhanced.
+ */
+@Entity
+@Table(name = "icbt")
+public class InstanceCallbacksTest {
+
+    public static long preDeleteInvocations = 0;
+    public static long postLoadInvocations = 0;
+    public static long preStoreInvocations = 0;
+    public static long preClearInvocations = 0;
+
+    public transient boolean postLoadCalled = false;
+    public transient boolean preStoreCalled = false;
+    public transient boolean preDeleteCalled = false;
+    public transient boolean preClearCalled = false;
+
+    public transient int preDeleteCycle = -1;
+    public transient boolean flushInPreStore = false;
+
+    // this string should never be null in jdoPostLoad
+    @Column(length = 35)
+    private String nonNullString = null;
+
+    @Column(length = 35)
+    private String stringField = null;
+    @Basic
+    private int intField = 0;
+    @Basic
+    private int nonDFGField = 0;
+
+    @OneToOne(cascade = CascadeType.PERSIST)
+    private RuntimeTest1 oneOne = null;
+
+    @OneToOne(cascade = CascadeType.PERSIST)
+    private InstanceCallbacksTest rel;
+    private transient Object relId;
+
+    public InstanceCallbacksTest() {
+    }
+
+    public InstanceCallbacksTest(String stringField, int intField) {
+        this.stringField = stringField;
+        this.intField = intField;
+    }
+
+    public void setNonNullString(String val) {
+        nonNullString = val;
+    }
+
+    public String getStringField() {
+        return this.stringField;
+    }
+
+    public void setStringField(String stringField) {
+        this.stringField = stringField;
+    }
+
+    public int getIntField() {
+        return this.intField;
+    }
+
+    public void setIntField(int intField) {
+        this.intField = intField;
+    }
+
+    public int getNonDFGField() {
+        return this.nonDFGField;
+    }
+
+    public void setNonDFGField(int nonDFGField) {
+        this.nonDFGField = nonDFGField;
+    }
+
+    public RuntimeTest1 getOneOne() {
+        return this.oneOne;
+    }
+
+    public void setOneOne(RuntimeTest1 oneOne) {
+        this.oneOne = oneOne;
+    }
+
+    @PostLoad
+    public void jdoPostLoad() {
+        postLoadInvocations++;
+
+        postLoadCalled = true;
+        if (nonNullString == null)
+            throw new IllegalStateException();
+    }
+
+    public void jdoPreClear() {
+        preClearInvocations++;
+
+        preClearCalled = true;
+    }
+
+    @PrePersist
+    @PreUpdate
+    public void jdoPreStore() {
+        preStoreInvocations++;
+
+        preStoreCalled = true;
+
+        // ensure that whenever this object is persisted,
+        // nonNullString is, in fact, not null.
+        if (nonNullString == null)
+            nonNullString = "** this string is not null **";
+
+        // assign new value to relation; should get persisted
+        if ("bar".equals(stringField))
+            oneOne = new RuntimeTest1("jdoPreStore",
+                (int) (Math.random() * Integer.MAX_VALUE));
+        OpenJPAEntityManager em = OpenJPAPersistence.getEntityManager(this);
+        if (em != null) {
+            if (relId != null) {
+                InstanceCallbacksTest rel = em.find(InstanceCallbacksTest.class,
+                    relId);
+                rel.setRel(this);
+                rel.setIntField(8888);
+            }
+            if (flushInPreStore)
+                em.flush();
+        }
+    }
+
+    @PreRemove
+    public void jdoPreDelete() {
+        preDeleteInvocations++;
+        preDeleteCalled = true;
+        if (preDeleteCycle >= 0 && preDeleteCycle < 5) {
+            preDeleteCycle++;
+            OpenJPAPersistence.getEntityManager(this).remove(this);
+        }
+    }
+
+    public InstanceCallbacksTest getRel() {
+        return this.rel;
+    }
+
+    public void setRel(InstanceCallbacksTest rel) {
+        this.rel = rel;
+    }
+
+    public Object getRelId() {
+        return this.relId;
+    }
+
+    public void setRelId(Object relId) {
+        this.relId = relId;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceHolder.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceHolder.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceHolder.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceHolder.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,85 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
+import javax.persistence.Basic;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "holder")
+public class InterfaceHolder implements Serializable {
+
+    private Set intfs = new HashSet();
+
+    @Basic
+    @Column(length = 35)
+    private String stringField;
+
+    @OneToOne(fetch = FetchType.LAZY,
+        cascade = { CascadeType.PERSIST, CascadeType.REMOVE })
+    private InterfaceTest intf;
+
+    @Id
+    private int id;
+
+    public InterfaceHolder() {
+    }
+
+    public InterfaceHolder(int id) {
+        this.id = id;
+    }
+
+    public void setIntf(InterfaceTest intf) {
+        this.intf = intf;
+    }
+
+    public InterfaceTest getIntf() {
+        return this.intf;
+    }
+
+    public void setIntfs(Set intfs) {
+        this.intfs = intfs;
+    }
+
+    public Set getIntfs() {
+        return this.intfs;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public int getId() {
+        return this.id;
+    }
+
+    public String toString() {
+        return "intfs: " + intfs + ", StringField: " + stringField +
+            ", Intf: " + intf + ".";
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,32 @@
+/*
+ * 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.kernel.common.apps;
+
+/**
+ * <p>Interface used in testing</p>
+ *
+ * @author Abe White
+ */
+
+public interface InterfaceTest {
+
+    public String getStringField();
+
+    public void setStringField(String str);
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest2.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest2.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTest2.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,32 @@
+/*
+ * 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.kernel.common.apps;
+
+/**
+ * <p>Interface used in testing</p>
+ *
+ * @author Abe White
+ */
+public interface InterfaceTest2
+    extends InterfaceTest {
+
+    public int getIntField();
+
+    public void setIntField(int i);
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl1.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl1.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl1.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl1.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,52 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * <p>Persistent type used in testing</p>
+ *
+ * @author Abe White
+ */
+
+@SuppressWarnings("serial")
+@Entity
+@Table(name = "impl_1")
+public class InterfaceTestImpl1 implements InterfaceTest, Serializable {
+
+    private String stringField;
+
+    protected InterfaceTestImpl1() {
+    }
+
+    public InterfaceTestImpl1(String str) {
+        this.stringField = str;
+    }
+
+    public String getStringField() {
+        return this.stringField;
+    }
+
+    public void setStringField(String str) {
+        this.stringField = str;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl2.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl2.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl2.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl2.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,50 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * <p>Persistent type used in testing</p>
+ *
+ * @author Abe White
+ */
+@Entity
+@Table(name = "impl_2")
+public class InterfaceTestImpl2 implements InterfaceTest, Serializable {
+
+    private String stringField;
+
+    protected InterfaceTestImpl2() {
+    }
+
+    public InterfaceTestImpl2(String str) {
+        this.stringField = str;
+    }
+
+    public String getStringField() {
+        return this.stringField;
+    }
+
+    public void setStringField(String str) {
+        this.stringField = str;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl3.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl3.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl3.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl3.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,49 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Entity;
+
+/**
+ * <p>Persistent type used in testing</p>
+ *
+ * @author Abe White
+ */
+@Entity
+public class InterfaceTestImpl3
+    extends InterfaceTestImpl2
+    implements InterfaceTest2 {
+
+    private int intField;
+
+    protected InterfaceTestImpl3() {
+    }
+
+    public InterfaceTestImpl3(String str) {
+        super(str);
+    }
+
+    public int getIntField() {
+        return this.intField;
+    }
+
+    public void setIntField(int i) {
+        this.intField = i;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl4.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl4.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl4.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InterfaceTestImpl4.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,58 @@
+/*
+ * 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.kernel.common.apps;
+
+import javax.persistence.Entity;
+
+/**
+ * <p>Persistent type used in testing</p>
+ *
+ * @author Abe White
+ */
+
+@Entity
+public class InterfaceTestImpl4
+    implements InterfaceTest2 {
+
+    private String stringField;
+    private int intField;
+
+    protected InterfaceTestImpl4() {
+    }
+
+    public InterfaceTestImpl4(String str) {
+        this.stringField = str;
+    }
+
+    public String getStringField() {
+        return this.stringField;
+    }
+
+    public void setStringField(String str) {
+        this.stringField = str;
+    }
+
+    public int getIntField() {
+        return this.intField;
+    }
+
+    public void setIntField(int i) {
+        this.intField = i;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseA.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseA.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseA.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseA.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,118 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.util.HashSet;
+import java.util.Set;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "inverseA")
+public class InverseA {
+
+    @Column(length = 35)
+    private String stringField;
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    private int intField;
+    @Column(name = "oneone")
+    private InverseA oneOne;
+    @Column(name = "oneowner")
+    private InverseA oneOneOwner;
+    @Column(name = "onemany")
+    private InverseA oneMany;
+    private Set manyOne = new HashSet();
+    private Set manyMany = new HashSet();
+    private Set manyManyOwner = new HashSet();
+    private Set nullSet = null;
+    private InverseA nullOwner;
+
+    public String getStringField() {
+        return stringField;
+    }
+
+    public void setStringField(String s) {
+        stringField = s;
+    }
+
+    public int getIntField() {
+        return intField;
+    }
+
+    public void setIntField(int i) {
+        intField = i;
+    }
+
+    public InverseA getOneOne() {
+        return oneOne;
+    }
+
+    public void setOneOne(InverseA a) {
+        oneOne = a;
+    }
+
+    public InverseA getOneOneOwner() {
+        return oneOneOwner;
+    }
+
+    public void setOneOneOwner(InverseA a) {
+        oneOneOwner = a;
+    }
+
+    public InverseA getOneMany() {
+        return oneMany;
+    }
+
+    public void setOneMany(InverseA a) {
+        oneMany = a;
+    }
+
+    public Set getManyOne() {
+        return manyOne;
+    }
+
+    public Set getManyMany() {
+        return manyMany;
+    }
+
+    public Set getManyManyOwner() {
+        return manyManyOwner;
+    }
+
+    public Set getNullSet() {
+        return nullSet;
+    }
+
+    public void setNullSet(Set s) {
+        nullSet = s;
+    }
+
+    public InverseA getNullOwner() {
+        return nullOwner;
+    }
+
+    public void setNullOwner(InverseA a) {
+        nullOwner = a;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseB.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseB.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseB.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/InverseB.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,53 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.util.HashSet;
+import java.util.Set;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "inverseB")
+public class InverseB {
+
+    private String stringField;
+    private InverseB oneOne;
+    private Set manyMany = new HashSet();
+
+    public String getStringField() {
+        return stringField;
+    }
+
+    public void setStringField(String s) {
+        stringField = s;
+    }
+
+    public InverseB getOneOne() {
+        return oneOne;
+    }
+
+    public void setOneOne(InverseB a) {
+        oneOne = a;
+    }
+
+    public Set getManyMany() {
+        return manyMany;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Lobs.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Lobs.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Lobs.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/Lobs.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,77 @@
+/**
+ *
+ */
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import javax.persistence.Basic;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+import javax.persistence.Table;
+
+/**
+ * @author aokeke
+ */
+@Entity
+@Table(name = "lobs")
+public class Lobs implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Lob
+    @Basic(fetch = FetchType.EAGER)
+    @Column(name = "report")
+    protected String lob = null;
+
+    @Id
+    public int id;
+
+    public Lobs() {
+    }
+
+    public Lobs(int key) {
+        id = key;
+    }
+
+    public Lobs(String report, int key) {
+        this.lob = report;
+        this.id = key;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getLob() {
+        return lob;
+    }
+
+    public void setLob(String lob) {
+        this.lob = lob;
+    }
+}

Added: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/LockGroupPC.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/LockGroupPC.java?rev=627979&view=auto
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/LockGroupPC.java (added)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/common/apps/LockGroupPC.java Fri Feb 15 01:19:55 2008
@@ -0,0 +1,102 @@
+/*
+ * 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.kernel.common.apps;
+
+import java.io.Serializable;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+
+@Entity
+public class LockGroupPC
+    implements Serializable {
+
+    @Column(name = "DEF_LockGSF")
+    private String defaultLockGroupStringField;
+    @Column(name = "EXDEF_LockGIF")
+    private int explicitDefaultLockGroupIntField;
+
+    @Column(name = "LockGIF")
+    private int lockGroup0IntField;
+    @Column(name = "LockGSF")
+    private String lockGroup0StringField;
+
+    @Column(name = "LockGRF")
+    private transient RuntimeTest1 lockGroup1RelationField;
+    @Column(name = "LGF")
+    private int lockGroup1IntField;
+
+    @Column(name = "UNLS")
+    private String unlockedStringField;
+
+    public void setDefaultLockGroupStringField(String val) {
+        defaultLockGroupStringField = val;
+    }
+
+    public String getDefaultLockGroupStringField() {
+        return defaultLockGroupStringField;
+    }
+
+    public void setExplicitDefaultLockGroupIntField(int val) {
+        explicitDefaultLockGroupIntField = val;
+    }
+
+    public int getExplicitDefaultLockGroupIntField() {
+        return explicitDefaultLockGroupIntField;
+    }
+
+    public void setLockGroup0IntField(int val) {
+        lockGroup0IntField = val;
+    }
+
+    public int getLockGroup0IntField() {
+        return lockGroup0IntField;
+    }
+
+    public void setLockGroup0StringField(String val) {
+        lockGroup0StringField = val;
+    }
+
+    public String getLockGroup0StringField() {
+        return lockGroup0StringField;
+    }
+
+    public void setLockGroup1RelationField(RuntimeTest1 val) {
+        lockGroup1RelationField = val;
+    }
+
+    public RuntimeTest1 getLockGroup1RelationField() {
+        return lockGroup1RelationField;
+    }
+
+    public void setLockGroup1IntField(int val) {
+        lockGroup1IntField = val;
+    }
+
+    public int getLockGroup1IntField() {
+        return lockGroup1IntField;
+    }
+
+    public void setUnlockedStringField(String val) {
+        unlockedStringField = val;
+    }
+
+    public String getUnlockedStringField() {
+        return unlockedStringField;
+    }
+}
\ No newline at end of file



Mime
View raw message