Я использую данные Spring вместе с Kotlin. У меня есть пара вопросов:
- Как мне получить данные пружины + jpa для автоматического преобразования столбцов в случае змеи на postgres в случае верблюда в Kotlin. Это хорошо работает в моих сущностях, но не в проекции. В моих сущностях мне не нужно указывать имя @Column, оно просто работает. Но это не для проекции. Вот мой код:
interface CompanyShareholderTransactionsRepository: CrudRepository<CompanyShareholderTransactionsTable, UUID> {
@Query("""
select folio_no as folioNo, name, cert_no, dist_no_from, dist_no_to, date_acq
from company_shareholder_transactions txn
inner join company_shareholder_certs cert on txn.shareholder_certs_id = cert.id
inner join company_shareholders_info info on txn.shareholder_info_id = info.id
where txn.company_id = :companyId and
txn.shareholder_certs_id = :certId
order by txn.date_acq limit 1
""" , nativeQuery = true)
fun getTransactionInfoByCertId(companyId: UUID, certId: UUID): TransactionInfo?
}
interface TransactionInfo {
val folioNo: Int
val name: String
val cert_no: Int
val distNoFrom: BigInteger
val distNoTo: BigInteger
val dateAcq: LocalDate
}
Просто чтобы дать вам пример того, что работает, а что нет,
folioNo работает с псевдонимом в sql.
cert_no работает нормально.
, но dist_no_from, dist_no_to и date_acq не отображаются в переменные TransactionInfo.
Я ищу способ не вводить псевдонимы постоянно.
Как использовать класс данных вместо интерфейса. Я хотел бы определить TransactionInfo как класс данных, чтобы я мог добавить к нему дополнительные методы и функции.