что SQL удобный, но знать его приходится, потому что абстракции не идеальны. 
                  
                  
                  
                  
                  
                  Вот у меня в ORM есть такой запрос:
                  
                  
                  
                  
                  
                  val candidates = ObjectSelect.query(Candidate::class.java)
                  
                  
                      .where(Candidate.EMAIL.likeIgnoreCase(dbQuery))
                  
                  
                      .or(Candidate.COMPANY.likeIgnoreCase(dbQuery))
                  
                  
                      .or(Candidate.FIRST_NAME.likeIgnoreCase(dbQuery))
                  
                  
                      .or(Candidate.LAST_NAME.likeIgnoreCase(dbQuery))
                  
                  
                      .or(Candidate.PHONE.likeIgnoreCase(dbQuery))
                  
                  
                      .or(Candidate.PHONE2.likeIgnoreCase(dbQuery))
                  
                  
                      .or(Candidate.STATUS.likeIgnoreCase(dbQuery))
                  
                  
                      .or(Candidate.TAGS.dot(CandidateTag.NAME).likeIgnoreCase(dbQuery))
                  
                  
                      .offset(serviceConfiguration.pageSize * (page - 1))
                  
                  
                      .limit(serviceConfiguration.pageSize)
                  
                  
                      .orderByProp(Candidate.ID_PK_COLUMN)
                  
                  
                      .select(context)
                  
                  
                      .map { it.toDto() }
                  
                  
                  
                  
                  
                  неужели он может выглядеть понятнее на SQL? как мне оформлять код, следить за типо безопасностью (и безопасностью типов :) )?
                  
                  
                
Я предпочитаю во вьюшки выносить максимально такую штуку или в хранимки. Ибо даже с DSL выглядит как [ну вы сами поняли что]
А что думаешь насчет hibernate? Там же вроде работа как с коллекциями
Ну, скорее всего в таком виде запросы лучше вообще не писать, or для СУБД вредная операция. Но вообще на SQL он был бы раз в пять короче и очевиднее )
Обсуждают сегодня