Author: ppoddar
Date: Fri Aug 1 09:55:22 2008
New Revision: 681746
URL: http://svn.apache.org/viewvc?rev=681746&view=rev
Log:
OPENJPA-207: Add new test case for multi-level derived id
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Book.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Page.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMultipleLevelDerivedIdentity.java
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Book.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Book.java?rev=681746&r1=681745&r2=681746&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Book.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Book.java
Fri Aug 1 09:55:22 2008
@@ -55,7 +55,7 @@
@Id
@Column(nullable = false)
- @ManyToOne (cascade = CascadeType.ALL)
+ @ManyToOne
private Library library;
private String author;
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Page.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Page.java?rev=681746&r1=681745&r2=681746&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Page.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/Page.java
Fri Aug 1 09:55:22 2008
@@ -51,7 +51,7 @@
@Id
@Column(nullable = false)
- @ManyToOne (cascade = CascadeType.ALL)
+ @ManyToOne
@JoinColumns({
@JoinColumn(name="BOOK_LIBRARY_LIBRARY_NAME",
referencedColumnName="LIBRARY_LIBRARY_NAME"),
@JoinColumn(name="BOOK_BOOK_NAME", referencedColumnName="BOOK_NAME")
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMultipleLevelDerivedIdentity.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMultipleLevelDerivedIdentity.java?rev=681746&r1=681745&r2=681746&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMultipleLevelDerivedIdentity.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/enhance/identity/TestMultipleLevelDerivedIdentity.java
Fri Aug 1 09:55:22 2008
@@ -25,19 +25,20 @@
import org.apache.openjpa.persistence.test.SingleEMFTestCase;
/**
- * Tests entities that use compound keys that includes entity relationship at
+ * Tests entities with compound keys that include entity relationship at
* more than one level.
*
- * Page has a compound identity to Book which itself uses a compound identity
to
- * Library.
+ * Page has a compound identity to Book which in turn uses a compound identity
+ * to Library.
*
- * Test case and domain classes were originally part of the reported issue <A
- * href="https://issues.apache.org/jira/browse/OPENJPA-207">OPENJPA-207</A>
+ * Test case and domain classes were originally part of the reported issue
+ * <A href="https://issues.apache.org/jira/browse/OPENJPA-207">OPENJPA-207</A>
*
* @author Jeffrey Blattman
* @author Pinaki Poddar
*
*/
[EMAIL PROTECTED]("unchecked")
public class TestMultipleLevelDerivedIdentity extends SingleEMFTestCase {
private static String LIBRARY_NAME = "LIB";
private static String BOOK_NAME = "foo";
@@ -49,10 +50,6 @@
create();
}
-// public void tearDown() throws Exception {
-//
-// }
-
public void testPersist() {
create();
}
@@ -82,7 +79,6 @@
assertEquals(page,
page.getBook().getPage(page.getNumber()));
}
}
-
public void testQueryLeafLevel() {
EntityManager em = emf.createEntityManager();
@@ -141,7 +137,7 @@
em.getTransaction().commit();
}
- public void testDelete() {
+ public void testDeleteRoot() {
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Library lib = em.find(Library.class, LIBRARY_NAME);
@@ -152,6 +148,39 @@
assertEquals(0, count(Book.class));
assertEquals(0, count(Page.class));
}
+
+ public void testDeleteLeafObtainedByQuery() {
+ EntityManager em = emf.createEntityManager();
+ em.getTransaction().begin();
+ Page page = (Page)em.createQuery("SELECT p FROM Page p WHERE
p.number=2")
+ .getSingleResult();
+ assertNotNull(page);
+ em.remove(page);
+ em.getTransaction().commit();
+
+ assertEquals(1, count(Library.class));
+ assertEquals(1, count(Book.class));
+ assertEquals(NUM_PAGES-1, count(Page.class));
+ }
+
+ public void testDeleteLeafObtainedByFind() {
+ EntityManager em = emf.createEntityManager();
+ em.getTransaction().begin();
+ BookId bookId = new BookId();
+ bookId.setLibrary(LIBRARY_NAME);
+ bookId.setName(BOOK_NAME);
+ PageId pageId = new PageId();
+ pageId.setBook(bookId);
+ pageId.setNumber(2);
+ Page page = em.find(Page.class, pageId);
+ assertNotNull(page);
+ em.remove(page);
+ em.getTransaction().commit();
+
+ assertEquals(1, count(Library.class));
+ assertEquals(1, count(Book.class));
+ assertEquals(NUM_PAGES-1, count(Page.class));
+ }
/**