From 230df6b4e56e1c242d389cc22918776e5486d2b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Sat, 29 Sep 2012 18:40:24 +0300 Subject: [PATCH] added test --- .../mysema/query/AbstractStandardTest.java | 23 +++++++++++++++++++ .../com/mysema/query/jpa/domain/Dolphin.java | 8 +++++++ .../com/mysema/query/jpa/domain/Domain.java | 4 ++++ .../com/mysema/query/jpa/domain/Human.java | 14 +++++++++++ .../com/mysema/query/jpa/domain/Mammal.java | 12 ++++++++++ .../com/mysema/query/jpa/domain/World.java | 18 +++++++++++++++ 6 files changed, 79 insertions(+) create mode 100644 querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Dolphin.java create mode 100644 querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Human.java create mode 100644 querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Mammal.java create mode 100644 querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/World.java diff --git a/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java b/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java index 2d6ef96ca..132a1603e 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java @@ -68,9 +68,12 @@ import com.mysema.query.jpa.domain.QDoubleProjection; import com.mysema.query.jpa.domain.QEmployee; import com.mysema.query.jpa.domain.QFloatProjection; import com.mysema.query.jpa.domain.QFoo; +import com.mysema.query.jpa.domain.QHuman; +import com.mysema.query.jpa.domain.QMammal; import com.mysema.query.jpa.domain.QShow; import com.mysema.query.jpa.domain.QSimpleTypes; import com.mysema.query.jpa.domain.QUser; +import com.mysema.query.jpa.domain.QWorld; import com.mysema.query.jpa.domain.Show; import com.mysema.query.jpa.domain4.QBookMark; import com.mysema.query.jpa.domain4.QBookVersion; @@ -566,6 +569,26 @@ public abstract class AbstractStandardTest { query().from(cat).list(cat.bodyWeight.castToNum(Integer.class)); } + @Test + public void Fetch() { + QMammal mammal = QMammal.mammal; + QHuman human = new QHuman("mammal"); + query().from(mammal) + .leftJoin(human.hairs).fetch() + .list(mammal); + } + + @Test + public void Fetch2() { + QWorld world = QWorld.world; + QMammal mammal = QMammal.mammal; + QHuman human = new QHuman("mammal"); + query().from(world) + .leftJoin(world.mammals, mammal).fetch() + .leftJoin(human.hairs).fetch() + .list(world); + } + @Test public void StartsWith(){ assertEquals(1, query().from(cat).where(cat.name.startsWith("R")).count()); diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Dolphin.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Dolphin.java new file mode 100644 index 000000000..78f84a6c3 --- /dev/null +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Dolphin.java @@ -0,0 +1,8 @@ +package com.mysema.query.jpa.domain; + +import javax.persistence.Entity; + +@Entity +public class Dolphin extends Mammal { + +} diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Domain.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Domain.java index 1e2d322e3..4da4fdbe3 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Domain.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Domain.java @@ -41,15 +41,18 @@ public final class Domain { Department.class, Document.class, DomesticCat.class, + Dolphin.class, EmbeddedType.class, Employee.class, EvilType.class, Family.class, Foo.class, Formula.class, + Human.class, InheritedProperties.class, Item.class, Location.class, + Mammal.class, Name.class, Named.class, NameList.class, @@ -70,6 +73,7 @@ public final class Domain { Store.class, Superclass.class, User.class, + World.class, BookID.class, BookMark.class, diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Human.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Human.java new file mode 100644 index 000000000..c76b6188e --- /dev/null +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Human.java @@ -0,0 +1,14 @@ +package com.mysema.query.jpa.domain; + +import java.util.Collection; + +import javax.persistence.ElementCollection; +import javax.persistence.Entity; + +@Entity +public class Human extends Mammal { + + @ElementCollection + Collection hairs; + +} diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Mammal.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Mammal.java new file mode 100644 index 000000000..b3f9dd04c --- /dev/null +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/Mammal.java @@ -0,0 +1,12 @@ +package com.mysema.query.jpa.domain; + +import javax.persistence.Entity; +import javax.persistence.Id; + +@Entity +public class Mammal { + + @Id + Long id; + +} diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/World.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/World.java new file mode 100644 index 000000000..158f78cab --- /dev/null +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/domain/World.java @@ -0,0 +1,18 @@ +package com.mysema.query.jpa.domain; + +import java.util.Set; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.OneToMany; + +@Entity +public class World { + + @Id + Long id; + + @OneToMany + Set mammals; + +}