Search in sources :

Example 56 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class ListaggTest method setUpOnce.

@Override
public void setUpOnce() {
    cleanDatabase();
    transactional(new TxVoidWork() {

        @Override
        public void work(EntityManager em) {
            Person p = new Person("Pers1");
            p.setAge(20L);
            em.persist(p);
            Version v1 = new Version();
            Document doc1 = new Document("Doc1", p, v1);
            em.persist(doc1);
            em.persist(v1);
            Version v2 = new Version();
            v2.setUrl("b");
            Document doc2 = new Document("Doc1", p, v2);
            em.persist(doc2);
            em.persist(v2);
            Version v3 = new Version();
            v3.setUrl("a");
            Document doc3 = new Document("Doc2", p, v3);
            em.persist(doc3);
            em.persist(v3);
        }
    });
}
Also used : EntityManager(javax.persistence.EntityManager) TxVoidWork(com.blazebit.persistence.testsuite.tx.TxVoidWork) Version(com.blazebit.persistence.testsuite.entity.Version) Document(com.blazebit.persistence.testsuite.entity.Document) Person(com.blazebit.persistence.testsuite.entity.Person)

Example 57 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class NonPrimaryKeyJoinColumnTest method testNonPrimaryKeySingleValuedAssociationIdInUpdate.

// NOTE: No JPA provider supports the optimized natural id access and only EclipseLink and Hibernate seem to support natural ids
@Test
@Category({ NoHibernate42.class, NoHibernate43.class, NoHibernate50.class, NoHibernate51.class, NoHibernate52.class, NoHibernate53.class, NoEclipselink.class, NoDatanucleus.class, NoOpenJPA.class })
public void testNonPrimaryKeySingleValuedAssociationIdInUpdate() {
    Person owner = new Person("p1");
    BookEntity bookEntity = new BookEntity();
    bookEntity.setOwner(owner);
    bookEntity.setIsbn("123");
    em.persist(owner);
    em.persist(bookEntity);
    UpdateCriteriaBuilder<BookISBNReferenceEntity> cb1 = cbf.update(em, BookISBNReferenceEntity.class, "r").setExpression("version", "r.version + 1").where("r.book.isbn").eq(bookEntity.getIsbn());
    UpdateCriteriaBuilder<BookISBNReferenceEntity> cb2 = cbf.update(em, BookISBNReferenceEntity.class, "r").setExpression("version", "r.version + 1").where("r.book").eq(bookEntity);
    assumeTrue(jpaProvider.supportsSingleValuedAssociationIdExpressions());
    assumeTrue(jpaProvider.supportsSingleValuedAssociationNaturalIdExpressions());
    assertEquals("UPDATE BookISBNReferenceEntity r SET r.version = r.version + 1 WHERE r.book.isbn = :param_0", cb1.getQueryString());
    assertEquals("UPDATE BookISBNReferenceEntity r SET r.version = r.version + 1 WHERE r.book = :param_0", cb2.getQueryString());
    cb1.executeUpdate();
    cb2.executeUpdate();
}
Also used : BookEntity(com.blazebit.persistence.testsuite.entity.BookEntity) BookISBNReferenceEntity(com.blazebit.persistence.testsuite.entity.BookISBNReferenceEntity) Person(com.blazebit.persistence.testsuite.entity.Person) Category(org.junit.experimental.categories.Category) Test(org.junit.Test)

Example 58 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class OptimizedKeysetPaginationPage1EdgeCaseFallbackTest method setUpOnce.

@Override
public void setUpOnce() {
    cleanDatabase();
    transactional(new TxVoidWork() {

        @Override
        public void work(EntityManager em) {
            DocumentWithNullableName doc1 = new DocumentWithNullableName("doc1");
            DocumentWithNullableName doc2 = new DocumentWithNullableName("doc2");
            DocumentWithNullableName doc3 = new DocumentWithNullableName("doc3");
            DocumentWithNullableName doc4 = new DocumentWithNullableName("doc4");
            Person o1 = new Person("Karl1");
            Person o2 = new Person("Karl2");
            Person o3 = new Person("Karl3");
            o4 = new Person("Karl4");
            doc1.setOwner(o1);
            doc2.setOwner(o2);
            doc3.setOwner(o3);
            doc4.setOwner(o4);
            doc1.setFriend(o1);
            doc2.setFriend(o2);
            doc3.setFriend(o3);
            doc4.setFriend(o4);
            em.persist(o1);
            em.persist(o2);
            em.persist(o3);
            em.persist(o4);
            em.persist(doc1);
            em.persist(doc2);
            em.persist(doc3);
            em.persist(doc4);
        }
    });
}
Also used : EntityManager(javax.persistence.EntityManager) TxVoidWork(com.blazebit.persistence.testsuite.tx.TxVoidWork) Person(com.blazebit.persistence.testsuite.entity.Person) DocumentWithNullableName(com.blazebit.persistence.testsuite.entity.DocumentWithNullableName)

Example 59 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class DateExtractTest method setUpOnce.

@Override
protected // Doing this for every timezone
void setUpOnce() {
    cleanDatabase();
    setup();
    transactional(new TxVoidWork() {

        @Override
        public void work(EntityManager em) {
            Person p = new Person("Pers1");
            p.setAge(20L);
            em.persist(p);
            Version v1 = new Version();
            em.persist(v1);
            Document doc1 = new Document("Doc1", p, v1);
            doc1.setCreationDate(c1);
            doc1.setLastModified(c2.getTime());
            em.persist(doc1);
        }
    });
}
Also used : EntityManager(javax.persistence.EntityManager) TxVoidWork(com.blazebit.persistence.testsuite.tx.TxVoidWork) Version(com.blazebit.persistence.testsuite.entity.Version) Document(com.blazebit.persistence.testsuite.entity.Document) Person(com.blazebit.persistence.testsuite.entity.Person)

Example 60 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class EntityInValuesClauseTest method setUpOnce.

@Override
public void setUpOnce() {
    cleanDatabase();
    transactional(new TxVoidWork() {

        @Override
        public void work(EntityManager em) {
            p1 = new Person("p1");
            d1 = new Document("doc1", p1);
            d2 = new Document("doc2", p1);
            d3 = new Document("doc3", p1);
            em.persist(p1);
            em.persist(d1);
            em.persist(d2);
            em.persist(d3);
        }
    });
}
Also used : EntityManager(javax.persistence.EntityManager) TxVoidWork(com.blazebit.persistence.testsuite.tx.TxVoidWork) Document(com.blazebit.persistence.testsuite.entity.Document) Person(com.blazebit.persistence.testsuite.entity.Person)

Aggregations

Person (com.blazebit.persistence.testsuite.entity.Person)175 Document (com.blazebit.persistence.testsuite.entity.Document)94 EntityManager (javax.persistence.EntityManager)77 TxVoidWork (com.blazebit.persistence.testsuite.tx.TxVoidWork)76 Test (org.junit.Test)50 AssertStatementBuilder (com.blazebit.persistence.testsuite.base.jpa.assertion.AssertStatementBuilder)19 Before (org.junit.Before)19 Version (com.blazebit.persistence.testsuite.entity.Version)18 AbstractEntityViewTest (com.blazebit.persistence.view.testsuite.AbstractEntityViewTest)14 HashMap (java.util.HashMap)14 Map (java.util.Map)14 AbstractEntityViewUpdateDocumentTest (com.blazebit.persistence.view.testsuite.update.AbstractEntityViewUpdateDocumentTest)11 Category (org.junit.experimental.categories.Category)11 CriteriaBuilder (com.blazebit.persistence.CriteriaBuilder)10 UpdatablePersonView (com.blazebit.persistence.view.testsuite.update.subview.simple.mutable.model.UpdatablePersonView)7 NameObject (com.blazebit.persistence.testsuite.entity.NameObject)5 Tuple (javax.persistence.Tuple)5 AbstractCoreTest (com.blazebit.persistence.testsuite.AbstractCoreTest)4 NameObjectContainer (com.blazebit.persistence.testsuite.entity.NameObjectContainer)4 QDocument (com.blazebit.persistence.testsuite.entity.QDocument)4