Конвертировать змеиный футляр в верблюжий - PullRequest
0 голосов
/ 22 апреля 2020

Я использую данные Spring вместе с Kotlin. У меня есть пара вопросов:

  1. Как мне получить данные пружины + 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 как класс данных, чтобы я мог добавить к нему дополнительные методы и функции.
...