
Alexey
23.10.2018
11:07:56

Vladimir
23.10.2018
11:08:00

Alexey
23.10.2018
11:08:10

Kirill
23.10.2018
11:09:29

Google

Денис
23.10.2018
11:09:48

Andrey
23.10.2018
11:09:51

Vladimir
23.10.2018
11:11:07

Kirill
23.10.2018
11:11:10

Денис
23.10.2018
11:11:43
Что сейчас декларирует @OneToMany ? Сейчас он декларирует то, как комбинируются некоторые действия (лябмды) над таблицами в БД, чтобы сконструировать объект.
Вот и декларировать это надо как комбинацию (композицию или ещё что) лямбд, а не как фиг знает что, спрятанное в фреймворке фиг знает где через рефлексию.
Сложный вопрос, кстати.
Ведь это для большого количества случаев упрощает и ускоряет разработку софта - люди вон в этой комбинации лямбд (кстати, где и как их декларировать удобно?) тоже обосраться могут, с не меньшим, а до какого-то момента и большим шансом, чем фреймворк.
Это я сейчас вполне осознанно адвоката дьявола играю, если что.


Andrey
23.10.2018
11:12:58
>Зачем вообще использовать мета язык (аннотации) для описания того, что может быть описано языком?
Думаю, вопрос в определённом сорте удобства: людям нравится иметь это под рукой прямо в том же месте, где сами сущности, к которым это относится, объявляются - условно, видеть @Transactional в спринге в тех компонентах, где применяется соответствующая аннотации логика, а не в AbstractPersistenceTransactionConfigFactoryBean (утрирую!) где-то очень далеко.
Трейд-офф типобезопасности/компайл-тайм корректности приложения с простотой поддержания контекста при разработке и собственно разработки.
Вам не кажется, что трейд офф слишком дорогой? Из серии: "давайте отключим основную фичу языка, чтобы нам было удобно".

Денис
23.10.2018
11:13:27

Boris
23.10.2018
11:13:37
В случае с метаданными в коде, придётся иметь дублирование меты и класс бина

Денис
23.10.2018
11:13:40
Это если говорить о произвольной аннотации, не о конкретно @OneToMany.

Kirill
23.10.2018
11:14:43

Andrey
23.10.2018
11:15:10

Quantum Harmonizer
23.10.2018
11:15:51

Денис
23.10.2018
11:15:57

Google

Денис
23.10.2018
11:16:09

Quantum Harmonizer
23.10.2018
11:16:29

Alexey
23.10.2018
11:16:29

Денис
23.10.2018
11:17:24
Мне кажется статистика обратная
Слова "кажется" и "статистика" в одном предложении плохо сочетаются же. :)
Здесь отмечу, что vocal minority обычно очень сильно скашивает впечатления ещё.

Kirill
23.10.2018
11:17:35

Денис
23.10.2018
11:17:54
Если что, я в целом всячески ратую за компилируемость (и проверки на этапе компиляции) и строгую типизацию.
Я не уверен, where I stand в этом вопросе, здесь спорю, чтобы показать, почему люди могут считать, что вы не правы.

Kirill
23.10.2018
11:18:22
Да, я прочитал про адвоката дьявола ) Хоть и после того, как ответил ?

Andrey
23.10.2018
11:19:01
Я тоже пользуюсь фреймворками на аннотациях, если что. Даже сам небольшие писал одно время.
Мне они не нравятся не вот просто потому, что не нравятся, а потому, что много магии, как тестировать не понятно, дебаг адов, проверок на этапе компиляции никаких.

Kirill
23.10.2018
11:19:24
Тем не менее рассуждения об эффективности и привычности аннотаций - сильно похожи на натягивание совы на глобус. Когда эти фрэймовики писались - выбора-то особо не было

Alexandr
23.10.2018
11:20:55

Quantum Harmonizer
23.10.2018
11:21:12

Alexandr
23.10.2018
11:21:14

Andrey
23.10.2018
11:21:47

Vladimir
23.10.2018
11:21:54
я про это и говорил
В таком случае - да, это главное, что генерит jOOQ. Сущности можно и не генерить, это по вкусу.

Andrey
23.10.2018
11:22:21
не соглашусь
Ок. Применим вашу аргументацию: "не соглашусь с вашим несогласием" ?

Kirill
23.10.2018
11:22:24

Quantum Harmonizer
23.10.2018
11:23:52

Kirill
23.10.2018
11:23:54

Google

Денис
23.10.2018
11:24:55
DI - а чем Guice плох в этом плане? DSL же
Guice такой бойлерплейтистый по впечатлениям - как итог, по "ощущениям", т.е. субъективному удобству, проигрывает спринговому DI. По богатству фич сравнивать не берусь, мало опыта.

Sergey
23.10.2018
11:25:30
jOOQ у них лицензия сложная ,?

Quantum Harmonizer
23.10.2018
11:26:03

Руслан
23.10.2018
11:26:14

Sergey
23.10.2018
11:26:32

Vishnyakov
23.10.2018
11:26:33

Sergey
23.10.2018
11:26:44
Оглядываться надо

Kirill
23.10.2018
11:27:28

Alexandr
23.10.2018
11:27:51

Руслан
23.10.2018
11:27:59
Опасно
Apache 2.0, что тут опасного. Самая хорошая лицензия для оперсорса который в комерческом продукте используется. Не нужно путать людей.

Quantum Harmonizer
23.10.2018
11:28:17

Денис
23.10.2018
11:28:52

Sergey
23.10.2018
11:29:02

Quantum Harmonizer
23.10.2018
11:29:24

Денис
23.10.2018
11:29:32

Sergey
23.10.2018
11:29:36

Kirill
23.10.2018
11:29:36
Ну вот жеш
Я тоже пользуюсь фреймворками на аннотациях, если что. Даже сам небольшие писал одно время.
Мне они не нравятся не вот просто потому, что не нравятся, а потому, что много магии, как тестировать не понятно, дебаг адов, проверок на этапе компиляции никаких.

Vladimir
23.10.2018
11:30:59
А если базу менять?
Переехать на оракл вряд ли дороже и сложнее покупки jOOQ меньше, чем на порядок

Руслан
23.10.2018
11:31:27
А если базу менять?
Ко всем опенсор базам идет Apache 2.0 JOOQ, ко всем платным идет платный JOOQ. Не думаю что после покупки оракла за миллионы нефти у вас не останется пару сотен на отличную библиотеку.

Google

Alexandr
23.10.2018
11:32:39

Quantum Harmonizer
23.10.2018
11:33:40

Sergey
23.10.2018
11:34:05
Ну да - вот просто взял и решил...
Понятно, если надо, то вперёд. Но для Пет проектов начинать пользоваться... Чтоб потом натолкнуться на лицензионные ограничения...
Или заранее покупать...

Руслан
23.10.2018
11:34:40

Sergey
23.10.2018
11:35:10
Ну я не могу заранее все покупать напрозапас...

Quantum Harmonizer
23.10.2018
11:35:19

Денис
23.10.2018
11:35:39

Nick
23.10.2018
11:35:41

Vladimir
23.10.2018
11:36:08
Пет-проекты с ораклом ?

Andrey
23.10.2018
11:36:19

Vladimir
23.10.2018
11:36:28
Запятая

Quantum Harmonizer
23.10.2018
11:36:30
ВНЕЗАПНО or делает не то, что ты ожидаешь.

Nick
23.10.2018
11:37:11

Sergey
23.10.2018
11:38:17
Зачем изучать инструмент, который потом не сможешь использовать?

Alexandr
23.10.2018
11:38:26

Quantum Harmonizer
23.10.2018
11:39:16
читал, не убедили
ну если просто повторять тот вопрос, который тут уже поднят, то толку и не будет

Руслан
23.10.2018
11:40:30

Google

Денис
23.10.2018
11:42:03

dimiii
23.10.2018
11:42:18

Kirill
23.10.2018
11:55:04
ide context integration, один клик покажет тебе бин который будет заинжекчен
Заход через плагин IDE на мой вкус - костыль.
Я не хочу надеяться, что авторы плагина предусмотрели все варианты, в т. ч. те соглашения, что накозлоумил местный техлид/архитектор. Я знаю, что плагины пишут такие же ленивые раздолбаи, как я :)
Я не хочу запоминать дополнительные пункты меню/сочетания клавиш, мне есть куда потратить силы и память более продуктивно.
В идеале, я хочу опираться на компактное ядро фич IDE (Alt+F7, Ctrl+B) и фич моего мозга, чтобы эффективно навигироваться по проекту. Всякие там ссылочные прозрачности, лямбды, ФП приближают меня к этой цели, аннотации - отдаляют.

Alexandr
23.10.2018
11:56:00
бред, ну да ладно

Kirill
23.10.2018
11:58:56

Alexey
23.10.2018
12:04:25
бред, ну да ладно
Ну как всегда вобщем то, все аргументы против божественного спринга - бред

Quantum Harmonizer
23.10.2018
12:04:53

Денис
23.10.2018
12:05:13
А, ну вот, вопрос снят

Andrey
23.10.2018
12:06:18
ох и дискуссия, так что юзать под базу ?

Igor
23.10.2018
12:06:37
монгу?

Quantum Harmonizer
23.10.2018
12:06:46

Andrey
23.10.2018
12:07:25
вопрос был в пакете, а не базе

Vladimir
23.10.2018
12:07:39
А как противники runtime-аннотаций с JSON работают? С помощью кодогенерации?

Andrey
23.10.2018
12:07:43
а то тут разные мысли были

Igor
23.10.2018
12:08:05

Vladimir
23.10.2018
12:08:25

Igor
23.10.2018
12:08:36
ну хотя есть вариант получше с open-api

Quantum Harmonizer
23.10.2018
12:14:54

Kirill
23.10.2018
12:16:53

Alexandr
23.10.2018
12:18:01