Size: a a a

Scala User Group

2020 September 29

S

Simon in Scala User Group
Pavel
проблема слика, что он достаточно таки был мертв в последнее время, хоть и чутка ожил недавно
он просто идеален и не требует доработки =)
источник

ZM

ZLoyer Matveev in Scala User Group
Dima
ну нет либ уровня жука в скала
ты выучил скалу наконец или как обычно блабла?
источник

D

Dima in Scala User Group
ZLoyer Matveev
ты выучил скалу наконец или как обычно блабла?
вернись к нам пожалуйста
источник

AF

Anton Feoktistov in Scala User Group
Жук даже умел генерить скаловые кейс классы. Правда, генерил он их с оглядкой на джава бины. Но всё равно было читаемей.
источник

D

Dima in Scala User Group
Anton Feoktistov
Жук даже умел генерить скаловые кейс классы. Правда, генерил он их с оглядкой на джава бины. Но всё равно было читаемей.
по фактам
источник

M

Michael in Scala User Group
Simon
он просто идеален и не требует доработки =)
+1 😂
источник

D

Dima in Scala User Group
посмотрел проголосовавших за жук
источник

D

Dima in Scala User Group
ну глаз радуется - просто топари индустрии, золотые 10 процентов
источник

MO

Max Olsson in Scala User Group
Simon
он просто идеален и не требует доработки =)
Мне там работа с plain sql не понравилась.
Искал библиотеку, где insert и допустим select сущности по id можно было бы сгенерировать через dsl, а всё остальное - в plain sql.
В итоге пришел к выводу, что проще всего генерировать самому через использование Fragment в doobie.
источник

M

Michael in Scala User Group
Max Olsson
Мне там работа с plain sql не понравилась.
Искал библиотеку, где insert и допустим select сущности по id можно было бы сгенерировать через dsl, а всё остальное - в plain sql.
В итоге пришел к выводу, что проще всего генерировать самому через использование Fragment в doobie.
plain sql он скорее исключение. То, что с dsl по каким-либо причинам сделать не удалось.
источник

AF

Anton Feoktistov in Scala User Group
Чем понравился JOOQ:
1. Шикарный dsl, который повторяет sql запросы. Если стоял вопрос писать в джаве sql - лучше решения пока не найти
2. Удобная работа с генерилкой кода. Это единственный раз, когда вопрос о сохранении сгенеренного кода в гите могла идти речь
3. Любая кастомная sql вещь становилась dsl с минимум затрат

Чем не понравился:
1. Генеренный код на скале выглядел слабо - сказывалась обратная совместимость с java. А в последней версии её задепрекейтили и должны убрать вообще, в пользу джава рекордов
2. Отсутвие эффектов. Нужно что-то - оборачивай
3. Lukas Edler топит за то, что NULL в sql != Option. В итоге у вас может быть NPE

Последний пункт, сколько мы не пытались перенастроить генерилку и стал причиной съеать. Поэтому в новом проекте 3 года назад взяли Slick. И JOOQ был намного приятней слика, даже с NPE. Ну и если у вас Oracle или MSSQL - жук платный
источник

SA

Sergey Alaev in Scala User Group
λoλdog
Нет, не работает
И правда, не работает. Эксперимент показал, что jdk11 аллоцировать объекты на стеке не умеет, в гугле ничего найти не смог.
источник

SA

Sergey Alaev in Scala User Group
Anton Feoktistov
Чем понравился JOOQ:
1. Шикарный dsl, который повторяет sql запросы. Если стоял вопрос писать в джаве sql - лучше решения пока не найти
2. Удобная работа с генерилкой кода. Это единственный раз, когда вопрос о сохранении сгенеренного кода в гите могла идти речь
3. Любая кастомная sql вещь становилась dsl с минимум затрат

Чем не понравился:
1. Генеренный код на скале выглядел слабо - сказывалась обратная совместимость с java. А в последней версии её задепрекейтили и должны убрать вообще, в пользу джава рекордов
2. Отсутвие эффектов. Нужно что-то - оборачивай
3. Lukas Edler топит за то, что NULL в sql != Option. В итоге у вас может быть NPE

Последний пункт, сколько мы не пытались перенастроить генерилку и стал причиной съеать. Поэтому в новом проекте 3 года назад взяли Slick. И JOOQ был намного приятней слика, даже с NPE. Ну и если у вас Oracle или MSSQL - жук платный
Вы используете генеренную модель JOOQ в бизнес-логике?
источник

AF

Anton Feoktistov in Scala User Group
Sergey Alaev
Вы используете генеренную модель JOOQ в бизнес-логике?
В некоторых частях системы юзали, в некоторых нет. У нас база была на 4 схемы, самая большая 100+ таблиц. Там где маленькие схемы были - точно использовали
источник

λ

λoλdog in Scala User Group
Sergey Alaev
И правда, не работает. Эксперимент показал, что jdk11 аллоцировать объекты на стеке не умеет, в гугле ничего найти не смог.
источник

λ

λoλdog in Scala User Group
Escape analysis is supported and enabled by default in Java SE 6u23 and later.
источник

S

Simon in Scala User Group
Sergey Alaev
Вы используете генеренную модель JOOQ в бизнес-логике?
Мы генерили модель по схеме (из миграций) и выкладывали артефактом для использования в нескольких проектах.
Мне особенно нравятся там ключи в сгенеренной схеме, по которым джойнить можно. Не так удобно, как в слике, но тоже хорошо.
источник

SA

Sergey Alaev in Scala User Group
Anton Feoktistov
В некоторых частях системы юзали, в некоторых нет. У нас база была на 4 схемы, самая большая 100+ таблиц. Там где маленькие схемы были - точно использовали
Вот так:
override def get(id: User.Id): DbEffect[Option[User]] = DB.cacheRead("user", id){ conn =>
   Option(ctx(conn)
     .selectFrom(USER)
     .where(USER.ID equal id.id)
     .fetchOne()).map(Converters.userFromRecord)
 }

И особенности генератора уже не так волнуют.
источник

SA

Sergey Alaev in Scala User Group
> It does not replace a heap allocation with a stack allocation for objects that do not globally escape.
Хорошо, но мало
источник

EB

Eugene Bosiakov in Scala User Group
Столько проблем, а все вместо того чтобы raw sql написать
источник