diff --git a/example/spring-data-jpa/src/test/kotlin/com/linecorp/kotlinjdsl/example/spring/data/jpa/jpql/select/SelectExample.kt b/example/spring-data-jpa/src/test/kotlin/com/linecorp/kotlinjdsl/example/spring/data/jpa/jpql/select/SelectExample.kt index eb731f5f8..aaa6de0ed 100644 --- a/example/spring-data-jpa/src/test/kotlin/com/linecorp/kotlinjdsl/example/spring/data/jpa/jpql/select/SelectExample.kt +++ b/example/spring-data-jpa/src/test/kotlin/com/linecorp/kotlinjdsl/example/spring/data/jpa/jpql/select/SelectExample.kt @@ -4,6 +4,7 @@ import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.author.Author import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.book.Book import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.book.BookAuthor import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.book.BookPrice +import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.book.BookPublisher import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.book.Isbn import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.employee.Employee import com.linecorp.kotlinjdsl.example.spring.data.jpa.jpql.entity.employee.EmployeeDepartment @@ -51,6 +52,24 @@ class SelectExample : WithAssertions { assertThat(actual).isEqualTo(1L) } + @Test + fun `books reference specific book publisher entity`() { + // when + val actual = bookRepository.findAll { + select( + path(Book::isbn), + ).from( + entity(Book::class), + join(entity(BookPublisher::class)).on(path(BookPublisher::book).eq(entity(Book::class))), + ).where( + path(BookPublisher::publisherId).eq(3), + ) + } + + // then + assertThat(actual).isEqualTo(listOf(Isbn("10"), Isbn("11"), Isbn("12"))) + } + @Test fun `authors who haven't written a book`() { // when diff --git a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/JpqlRenderClause.kt b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/JpqlRenderClause.kt index 7b70d9d93..785708b82 100644 --- a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/JpqlRenderClause.kt +++ b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/JpqlRenderClause.kt @@ -26,6 +26,12 @@ sealed class JpqlRenderClause : AbstractRenderContextElement(Key) { @SinceJdsl("3.0.0") open fun isFrom(): Boolean = false + @SinceJdsl("3.5.1") + open fun isJoin(): Boolean = false + + @SinceJdsl("3.5.1") + open fun isOn(): Boolean = false + @SinceJdsl("3.0.0") open fun isWhere(): Boolean = false @@ -73,6 +79,20 @@ sealed class JpqlRenderClause : AbstractRenderContextElement(Key) { override fun toString(): String = "From" } + @SinceJdsl("3.5.1") + object Join : JpqlRenderClause() { + override fun isJoin(): Boolean = true + + override fun toString(): String = "Join" + } + + @SinceJdsl("3.5.1") + object On : JpqlRenderClause() { + override fun isOn(): Boolean = true + + override fun toString(): String = "On" + } + @SinceJdsl("3.0.0") object Where : JpqlRenderClause() { override fun isWhere(): Boolean = true diff --git a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializer.kt b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializer.kt index 3be5b16e1..e0eccba6e 100644 --- a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializer.kt +++ b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializer.kt @@ -24,6 +24,7 @@ class JpqlDerivedEntitySerializer : JpqlSerializer> { if ( (statement.isSelect() && clause.isFrom()) || + (statement.isSelect() && clause.isJoin()) || (statement.isUpdate() && clause.isUpdate()) || (statement.isDelete() && clause.isDeleteFrom()) ) { diff --git a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializer.kt b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializer.kt index 40e314ec3..611b75072 100644 --- a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializer.kt +++ b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializer.kt @@ -22,6 +22,7 @@ class JpqlEntitySerializer : JpqlSerializer> { if ( (statement.isSelect() && clause.isFrom()) || + (statement.isSelect() && clause.isJoin()) || (statement.isUpdate() && clause.isUpdate()) || (statement.isDelete() && clause.isDeleteFrom()) ) { diff --git a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializer.kt b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializer.kt index 215e532a5..74eacce06 100644 --- a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializer.kt +++ b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializer.kt @@ -3,6 +3,7 @@ package com.linecorp.kotlinjdsl.render.jpql.serializer.impl import com.linecorp.kotlinjdsl.Internal import com.linecorp.kotlinjdsl.querymodel.jpql.join.impl.JpqlInnerAssociationFetchJoin import com.linecorp.kotlinjdsl.render.RenderContext +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializer import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -20,7 +21,8 @@ class JpqlInnerAssociationFetchJoinSerializer : JpqlSerializer> { writer.write("INNER JOIN FETCH") writer.write(" ") - delegate.serialize(part.entity, writer, context) + val newJoinContext = context + JpqlRenderClause.Join + delegate.serialize(part.entity, writer, newJoinContext) writer.write(" ") writer.write("ON") writer.write(" ") - delegate.serialize(part.on, writer, context) + val newOnContext = context + JpqlRenderClause.On + delegate.serialize(part.on, writer, newOnContext) } } diff --git a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializer.kt b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializer.kt index b89983e13..cddccbdb1 100644 --- a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializer.kt +++ b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializer.kt @@ -3,6 +3,7 @@ package com.linecorp.kotlinjdsl.render.jpql.serializer.impl import com.linecorp.kotlinjdsl.Internal import com.linecorp.kotlinjdsl.querymodel.jpql.join.impl.JpqlInnerJoin import com.linecorp.kotlinjdsl.render.RenderContext +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializer import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -20,12 +21,14 @@ class JpqlInnerJoinSerializer : JpqlSerializer> { writer.write("INNER JOIN") writer.write(" ") - delegate.serialize(part.entity, writer, context) + val newJoinContext = context + JpqlRenderClause.Join + delegate.serialize(part.entity, writer, newJoinContext) writer.write(" ") writer.write("ON") writer.write(" ") - delegate.serialize(part.on, writer, context) + val newOnContext = context + JpqlRenderClause.On + delegate.serialize(part.on, writer, newOnContext) } } diff --git a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializer.kt b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializer.kt index 90018727a..794bae6a2 100644 --- a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializer.kt +++ b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializer.kt @@ -3,6 +3,7 @@ package com.linecorp.kotlinjdsl.render.jpql.serializer.impl import com.linecorp.kotlinjdsl.Internal import com.linecorp.kotlinjdsl.querymodel.jpql.join.impl.JpqlLeftAssociationFetchJoin import com.linecorp.kotlinjdsl.render.RenderContext +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializer import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -20,7 +21,8 @@ class JpqlLeftAssociationFetchJoinSerializer : JpqlSerializer> { writer.write("LEFT JOIN FETCH") writer.write(" ") - delegate.serialize(part.entity, writer, context) + val newJoinContext = context + JpqlRenderClause.Join + delegate.serialize(part.entity, writer, newJoinContext) writer.write(" ") writer.write("ON") writer.write(" ") - delegate.serialize(part.on, writer, context) + val newOnContext = context + JpqlRenderClause.On + delegate.serialize(part.on, writer, newOnContext) } } diff --git a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializer.kt b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializer.kt index 9ff57edd3..bd5d92666 100644 --- a/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializer.kt +++ b/render/jpql/src/main/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializer.kt @@ -3,6 +3,7 @@ package com.linecorp.kotlinjdsl.render.jpql.serializer.impl import com.linecorp.kotlinjdsl.Internal import com.linecorp.kotlinjdsl.querymodel.jpql.join.impl.JpqlLeftJoin import com.linecorp.kotlinjdsl.render.RenderContext +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializer import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -16,16 +17,17 @@ class JpqlLeftJoinSerializer : JpqlSerializer> { override fun serialize(part: JpqlLeftJoin<*>, writer: JpqlWriter, context: RenderContext) { val delegate = context.getValue(JpqlRenderSerializer) - writer.write("LEFT JOIN") writer.write(" ") - delegate.serialize(part.entity, writer, context) + val newJoinContext = context + JpqlRenderClause.Join + delegate.serialize(part.entity, writer, newJoinContext) writer.write(" ") writer.write("ON") writer.write(" ") - delegate.serialize(part.on, writer, context) + val newOnContext = context + JpqlRenderClause.On + delegate.serialize(part.on, writer, newOnContext) } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializerTest.kt index 84eb78781..a9720a80b 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlDerivedEntitySerializerTest.kt @@ -51,6 +51,7 @@ class JpqlDerivedEntitySerializerTest : WithAssertions { @StatementClauseSource( includes = [ StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.From::class), + StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.Join::class), StatementClause(JpqlRenderStatement.Update::class, JpqlRenderClause.Update::class), StatementClause(JpqlRenderStatement.Delete::class, JpqlRenderClause.DeleteFrom::class), ], @@ -84,6 +85,7 @@ class JpqlDerivedEntitySerializerTest : WithAssertions { @StatementClauseSource( excludes = [ StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.From::class), + StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.Join::class), StatementClause(JpqlRenderStatement.Update::class, JpqlRenderClause.Update::class), StatementClause(JpqlRenderStatement.Delete::class, JpqlRenderClause.DeleteFrom::class), ], diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializerTest.kt index c022a7bad..5bacb2d81 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlEntitySerializerTest.kt @@ -49,6 +49,7 @@ internal class JpqlEntitySerializerTest : WithAssertions { @StatementClauseSource( includes = [ StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.From::class), + StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.Join::class), StatementClause(JpqlRenderStatement.Update::class, JpqlRenderClause.Update::class), StatementClause(JpqlRenderStatement.Delete::class, JpqlRenderClause.DeleteFrom::class), ], @@ -81,6 +82,7 @@ internal class JpqlEntitySerializerTest : WithAssertions { @StatementClauseSource( excludes = [ StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.From::class), + StatementClause(JpqlRenderStatement.Select::class, JpqlRenderClause.Join::class), StatementClause(JpqlRenderStatement.Update::class, JpqlRenderClause.Update::class), StatementClause(JpqlRenderStatement.Delete::class, JpqlRenderClause.DeleteFrom::class), ], diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializerTest.kt index 7c2d2426a..aeef7bfc8 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationFetchJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.path.Paths import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.book.Book +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -60,7 +61,7 @@ class JpqlInnerAssociationFetchJoinSerializerTest : WithAssertions { verifySequence { writer.write("INNER JOIN FETCH") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -85,7 +86,7 @@ class JpqlInnerAssociationFetchJoinSerializerTest : WithAssertions { verifySequence { writer.write("INNER JOIN FETCH") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -93,7 +94,7 @@ class JpqlInnerAssociationFetchJoinSerializerTest : WithAssertions { writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(predicate1, writer, context) + serializer.serialize(predicate1, writer, context + JpqlRenderClause.On) } } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationJoinSerializerTest.kt index dba80dcd0..88c25fc9b 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerAssociationJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.path.Paths import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.book.Book +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -60,7 +61,7 @@ class JpqlInnerAssociationJoinSerializerTest : WithAssertions { verifySequence { writer.write("INNER JOIN") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -85,7 +86,7 @@ class JpqlInnerAssociationJoinSerializerTest : WithAssertions { verifySequence { writer.write("INNER JOIN") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -93,7 +94,7 @@ class JpqlInnerAssociationJoinSerializerTest : WithAssertions { writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(predicate1, writer, context) + serializer.serialize(predicate1, writer, context + JpqlRenderClause.On) } } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerFetchJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerFetchJoinSerializerTest.kt index bbf3a930e..d5d77e31d 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerFetchJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerFetchJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.author.Author import com.linecorp.kotlinjdsl.render.jpql.entity.book.BookAuthor +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -58,11 +59,11 @@ class JpqlInnerFetchJoinSerializerTest : WithAssertions { verifySequence { writer.write("INNER JOIN FETCH") writer.write(" ") - serializer.serialize(part.entity, writer, context) + serializer.serialize(part.entity, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(part.on, writer, context) + serializer.serialize(part.on, writer, context + JpqlRenderClause.On) } } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializerTest.kt index 78928eabc..635290f6d 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlInnerJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.author.Author import com.linecorp.kotlinjdsl.render.jpql.entity.book.BookAuthor +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -58,11 +59,11 @@ class JpqlInnerJoinSerializerTest : WithAssertions { verifySequence { writer.write("INNER JOIN") writer.write(" ") - serializer.serialize(part.entity, writer, context) + serializer.serialize(part.entity, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(part.on, writer, context) + serializer.serialize(part.on, writer, context + JpqlRenderClause.On) } } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializerTest.kt index 9938ec166..06791918f 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationFetchJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.path.Paths import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.book.Book +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -60,7 +61,7 @@ class JpqlLeftAssociationFetchJoinSerializerTest : WithAssertions { verifySequence { writer.write("LEFT JOIN FETCH") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -85,7 +86,7 @@ class JpqlLeftAssociationFetchJoinSerializerTest : WithAssertions { verifySequence { writer.write("LEFT JOIN FETCH") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -93,7 +94,7 @@ class JpqlLeftAssociationFetchJoinSerializerTest : WithAssertions { writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(predicate1, writer, context) + serializer.serialize(predicate1, writer, context + JpqlRenderClause.On) } } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationJoinSerializerTest.kt index 98516bd27..9d84ac321 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftAssociationJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.path.Paths import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.book.Book +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -60,7 +61,7 @@ class JpqlLeftAssociationJoinSerializerTest : WithAssertions { verifySequence { writer.write("LEFT JOIN") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -85,7 +86,7 @@ class JpqlLeftAssociationJoinSerializerTest : WithAssertions { verifySequence { writer.write("LEFT JOIN") writer.write(" ") - serializer.serialize(path1, writer, context) + serializer.serialize(path1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("AS") writer.write(" ") @@ -93,7 +94,7 @@ class JpqlLeftAssociationJoinSerializerTest : WithAssertions { writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(predicate1, writer, context) + serializer.serialize(predicate1, writer, context + JpqlRenderClause.On) } } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftFetchJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftFetchJoinSerializerTest.kt index 6ca68eb99..c08ed646f 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftFetchJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftFetchJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.author.Author import com.linecorp.kotlinjdsl.render.jpql.entity.book.BookAuthor +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -58,11 +59,11 @@ class JpqlLeftFetchJoinSerializerTest : WithAssertions { verifySequence { writer.write("LEFT JOIN FETCH") writer.write(" ") - serializer.serialize(entity1, writer, context) + serializer.serialize(entity1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(predicate1, writer, context) + serializer.serialize(predicate1, writer, context + JpqlRenderClause.On) } } } diff --git a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializerTest.kt b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializerTest.kt index 578c768c2..aaff90240 100644 --- a/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializerTest.kt +++ b/render/jpql/src/test/kotlin/com/linecorp/kotlinjdsl/render/jpql/serializer/impl/JpqlLeftJoinSerializerTest.kt @@ -8,6 +8,7 @@ import com.linecorp.kotlinjdsl.querymodel.jpql.predicate.Predicates import com.linecorp.kotlinjdsl.render.TestRenderContext import com.linecorp.kotlinjdsl.render.jpql.entity.author.Author import com.linecorp.kotlinjdsl.render.jpql.entity.book.BookAuthor +import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderClause import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlRenderSerializer import com.linecorp.kotlinjdsl.render.jpql.serializer.JpqlSerializerTest import com.linecorp.kotlinjdsl.render.jpql.writer.JpqlWriter @@ -58,11 +59,11 @@ class JpqlLeftJoinSerializerTest : WithAssertions { verifySequence { writer.write("LEFT JOIN") writer.write(" ") - serializer.serialize(entity1, writer, context) + serializer.serialize(entity1, writer, context + JpqlRenderClause.Join) writer.write(" ") writer.write("ON") writer.write(" ") - serializer.serialize(predicate1, writer, context) + serializer.serialize(predicate1, writer, context + JpqlRenderClause.On) } } }