You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by kw...@apache.org on 2010/10/04 23:34:21 UTC
svn commit: r1004441 - in
/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external:
EntityA.java TestExternalValues.java
Author: kwsutter
Date: Mon Oct 4 21:34:20 2010
New Revision: 1004441
URL: http://svn.apache.org/viewvc?rev=1004441&view=rev
Log:
Update ExternalValue testcase to show a "common" boolean to char mapping...
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/EntityA.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/TestExternalValues.java
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/EntityA.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/EntityA.java?rev=1004441&r1=1004440&r2=1004441&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/EntityA.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/EntityA.java Mon Oct 4 21:34:20 2010
@@ -43,7 +43,18 @@ public class EntityA implements java.io.
@ExternalValues( { "SMALL=5", "MEDIUM=8", "LARGE=15" })
@Type(int.class)
private String s2;
-
+
+ /*
+ * By default, OpenJPA stores Chars as Ints, so to force the use of
+ * a char(1) field, you would need to override this processing via
+ * a DBDictionary property:
+ * -Dopenjpa.jdbc.DBDictionary=derby(StoreCharsAsNumbers=false)
+ */
+ @Column(name="USE_STREAMING", length=1)
+ @ExternalValues({"true=T", "false=F"})
+ @Type(char.class)
+ private boolean _useStreaming = false;
+
public EntityA() {
}
@@ -66,4 +77,12 @@ public class EntityA implements java.io.
public void setS2(String s2) {
this.s2 = s2;
}
+
+ public boolean getUseStreaming() {
+ return _useStreaming;
+ }
+
+ public void setUseStreaming(boolean useStreaming) {
+ _useStreaming = useStreaming;
+ }
}
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/TestExternalValues.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/TestExternalValues.java?rev=1004441&r1=1004440&r2=1004441&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/TestExternalValues.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/external/TestExternalValues.java Mon Oct 4 21:34:20 2010
@@ -19,15 +19,43 @@
package org.apache.openjpa.persistence.external;
import javax.persistence.EntityManager;
+import javax.persistence.Query;
+
+import junit.framework.Assert;
-import org.apache.openjpa.persistence.PersistenceException;
import org.apache.openjpa.persistence.RollbackException;
import org.apache.openjpa.persistence.test.SingleEMFTestCase;
public class TestExternalValues extends SingleEMFTestCase {
public void setUp() {
- super.setUp(EntityA.class);
+ super.setUp(CLEAR_TABLES, EntityA.class);
+ }
+
+ public void testExternalValues() {
+ EntityManager em = emf.createEntityManager();
+
+ em.getTransaction().begin();
+
+ EntityA entity = new EntityA();
+
+ entity.setS1("SMALL");
+ entity.setS2("MEDIUM");
+ entity.setUseStreaming(true);
+
+ em.persist(entity);
+
+ em.getTransaction().commit();
+
+ // Validate
+
+ Query q = em.createQuery("SELECT a from EntityA a");
+ EntityA aPrime = (EntityA) q.getSingleResult();
+ Assert.assertEquals("SMALL", aPrime.getS1());
+ Assert.assertEquals("MEDIUM", aPrime.getS2());
+ Assert.assertEquals(true, aPrime.getUseStreaming());
+
+ em.close();
}
public void testUnrecognizedExternalValue() {