Entities
Kotlin JDSL์ JPQL์ entity๋ฅผ ํํํ๊ธฐ ์ํด Entity ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. Entity๋ฅผ ๋ง๋ค๊ธฐ ์ํด, entity()๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
entity(Book::class)Alias
๋ชจ๋ Entity๋ alias๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ง์ฝ entity()์ alias๋ฅผ ๋ช
์ํ์ง ์์ผ๋ฉด Kotlin JDSL์ด class ๋ช
์ ํตํด ์๋์ผ๋ก alias๋ฅผ ์์ฑํฉ๋๋ค. Entity๋ alias๋ฅผ ํตํด ๊ตฌ๋ถ์ด ๋๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ๋์ผํ ํ์
์ Entity๋ฅผ ํ๋ ์ด์ ์ฌ์ฉํ๋ค๋ฉด ์ด Entity๋ค์ ๊ตฌ๋ณํ๊ธฐ ์ํด์ alias๊ฐ ํ์ํฉ๋๋ค.
entity(Book::class)
entity(Book::class, Book::class.simpleName!!)
entity(Book::class, alias = "book1")
entity(Book::class, alias = "book2")Expression
Entity๋ select clause ๋ predicate ๋ฑ์์ Expression์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
// SELECT b FROM Book AS b WHERE b.isbn.value = :param1
jpql {
select(
entity(Book::class, "b"),
).from(
entity(Book::class, "b"),
).where(
entity(Book::class, "b")(Book::isbn)(Ibsn::value).eq("01"),
)
}Treat
Entity์ ํ์
์ ์์ ํ์
์ผ๋ก ๋ณ๊ฒฝํ๊ธฐ ์ํด, treat()๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
entity(Employee::class).treat(FullTimeEmployee::class)Last updated