Pull to refresh
4
0
Send message
Самостоятельно генерировать джоины не умеет. Может замапить результаты ручного джоина на дата-класс (проекцию):

@Query("""
     SELECT name, department_name
     FROM person p
     JOIN department d on p.department_id = d.id
""")
fun select(): PersonDepartmentProjection

Да, очень похоже. Принципы те же (kapt, генерация кода, sql-first).
Не слышал о нем, возможно он специфичен для Android.
На первый взгляд Kotlite умеет чуть больше в генерации SQL (но могу ошибаться). В примерах выше, для метода:
`fun selectBy(name: String, birthDate: LocalDate): Person?`
SQL будет сгенерирован автоматически.
Я бы сказал что Kotlite это SQL-центричное решение. Он оперирует либо просто SQL в виде текста, либо сгенерированным SQL, но тоже в текстовом виде. Его основная идея – позволить программисту пользоваться крутым языком (SQL) и всеми возможностями базы данных, и взять на себя нудную работу с JDBC и преобразованием резалт-сета в объекты.

Exposed это по сути Kotlin DSL над SQL. Он в отличие от Kotlite ООП-центричный, и не позволяет выполнять запросы именно в виде текста, только через DSL (это имеет свои преимущества… и недостатки).

Второе серьезное отличие – это то, что Kotlite генерирует код, и его можно увидеть глазами, продебажить, или даже изменить (предварительно скопировав в свой проект). В то время как Exposed все «генерирует» в рантайме.

Information

Rating
Does not participate
Registered
Activity