А что изменится, если для запуска в параллель вместо spring-а будут простые Runnable/Callable в ExecutorService? А ничего не изменится, т.к. вся магия делается внутри хибернета.
Единственное место, где почему-то предпочтение отдано spring-у - это PaymentDocumentSaver. Хотя туда прокидывается SessionFactory и, значит, ничто не мешало раз уж так хотелось нативных запросов использовать Session#createNativeQuery().
А вообще, конечно, странно это - использовать хибер и не использовать типобезопасный Criteria API. Особенно, учитывая то, что ничего базоспецифичного в запросах не делается. А просто обновление одного поля сущности.
Неуважаемые, вы бы прежде, чем брать денежку за сертификацию, попросили знающих людей поревьюить ваши вопросы. Это же полная кринжатина.
Код некомпилируемый. Где правильный вариант?
Гениальный вопрос, где все варианты, в принципе, могут быть верными и, не зная контекста используемых библиотек, правилльные ответы можно только угадать.
Но вот то, что оно не умеет в null - довольно печально, а LazyConstant<Optional<Something>> выглядит отвратительно, и пользоваться этим будет неудобно.
Похожая - не та же самая. Эти задачи, скорее всего, были вообще в разных проектах. Иначе за каким чёртом заново всё анализировать и придумывать: бери решение девушки и используй?
Опять же ничего не сказано каким образом у девушки получилось 50 строк, а парень пилил "более надёжное решение". На ровном месте такого не бывает. Скорее всего, то, что сделал парень, было реализовано сторонней библиотекой, которую девушка притянула в проект. А вот целесоообразность этого под вопросом, т.к. сторонняя зависимость - это всегда техдолг, потому что её надо обновлять, в ней могут быть неочевидные баги, которые как-то придётся исправлять/обходить/etc.
С другой стороны, куда смотрели ревьюверы, проверявшие решение парня? Они не видели ненужного переусложнения?
Для пустых коллекций возвращайте Collections.emptyList(), emptySet(), emptyMap()
List.of(), Set.of(), Map.of().
Инициализируйте с ожидаемым размером
Если количество элементов заранее известно и не будет увеличиваться, то нужно не только размер задавать, но и loadFactor в 1F выставлять. Иначе память при количестве элементов более 75% от указанного размера будет съедена зря.
Никогда. По той простой причине, что ты этой параллельностью не управляешь. Когда будет возможность указать пул, на котором будет эта параллельность выполняться, тогда можно о чём-то говорить. А полагаться на довольно маленький коммунальный пул, который ещё и самой JVM может использоваться, ну... такое.
Дело в ощущении причастности. Если я заработал зп 100 рублей, и я могу их до копейки потратить - это одно. А если заработал 133, но потратить могу только 100, потому что 33 надо отдать в виде налогов - это совсем другие ощущения.
И во втором случае вопросов к управлению налоговыми поступлениями государством будет гораздо больше.
А что изменится, если для запуска в параллель вместо spring-а будут простые
Runnable/CallableвExecutorService? А ничего не изменится, т.к. вся магия делается внутри хибернета.Единственное место, где почему-то предпочтение отдано spring-у - это
PaymentDocumentSaver. Хотя туда прокидываетсяSessionFactoryи, значит, ничто не мешало раз уж так хотелось нативных запросов использоватьSession#createNativeQuery().А вообще, конечно, странно это - использовать хибер и не использовать типобезопасный Criteria API. Особенно, учитывая то, что ничего базоспецифичного в запросах не делается. А просто обновление одного поля сущности.
TL/DR. Распараллеливаем процесс вставки данных в PostgreSQL при помощи
SpringJPA/Hibernate с сохранением атомарности всей операцииHibernate
JPA
Неуважаемые, вы бы прежде, чем брать денежку за сертификацию, попросили знающих людей поревьюить ваши вопросы. Это же полная кринжатина.
Код некомпилируемый. Где правильный вариант?
Гениальный вопрос, где все варианты, в принципе, могут быть верными и, не зная контекста используемых библиотек, правилльные ответы можно только угадать.
И это уровень "Профессионал"...
Коллеги, обходите эту шарашку стороной.
Но вот то, что оно не умеет в
null- довольно печально, аLazyConstant<Optional<Something>>выглядит отвратительно, и пользоваться этим будет неудобно.Это ровно до тех пор, пока их "из гнезда" не выпнут.
А есть какой-то другой незаброшенный grizzly?
Во-первых, к чему эти изначально предвзятые "девушка" и "парень"? Чтобы ещё раз ненавязчиво намекнуть, что бедную девочку угнетают?
Похожая - не та же самая. Эти задачи, скорее всего, были вообще в разных проектах. Иначе за каким чёртом заново всё анализировать и придумывать: бери решение девушки и используй?
Опять же ничего не сказано каким образом у девушки получилось 50 строк, а парень пилил "более надёжное решение". На ровном месте такого не бывает. Скорее всего, то, что сделал парень, было реализовано сторонней библиотекой, которую девушка притянула в проект. А вот целесоообразность этого под вопросом, т.к. сторонняя зависимость - это всегда техдолг, потому что её надо обновлять, в ней могут быть неочевидные баги, которые как-то придётся исправлять/обходить/etc.
С другой стороны, куда смотрели ревьюверы, проверявшие решение парня? Они не видели ненужного переусложнения?
Кентавры наполовину же лошади, соответственно, существа стадные. Всегда можно попросить помощи у товарища. :)
Вдогонку...
А почему это freemarker - прошлый век? Шаблоны, знаете ли, не только для кусков HTML нужны.
По-моему "по-моему" вполне себе используется в общественной речи. А вот "имхов" я вообще не слышал ни разу за последние лет 10-15.
Никогда.
List.of(),Set.of(),Map.of().Если количество элементов заранее известно и не будет увеличиваться, то нужно не только размер задавать, но и
loadFactorв1Fвыставлять. Иначе память при количестве элементов более 75% от указанного размера будет съедена зря.Программисты считают с нуля.
Эм... по-моему?
Никогда. По той простой причине, что ты этой параллельностью не управляешь. Когда будет возможность указать пул, на котором будет эта параллельность выполняться, тогда можно о чём-то говорить. А полагаться на довольно маленький коммунальный пул, который ещё и самой JVM может использоваться, ну... такое.
RTFMВсе ответы, ВНЕЗАПНО, можно найти в документацииВНЕЗАПНО
Они и сейчас есть: форма 3-НДФЛ. И их так же нужно заполнять и подавать самостоятельно. Но не всем. Вот в чём заковыка.
Или вы о каких-то древних временах говорите? Я что-то не припомню, чтобы подача декларации была обязательна для всех.
Дело в ощущении причастности. Если я заработал зп 100 рублей, и я могу их до копейки потратить - это одно. А если заработал 133, но потратить могу только 100, потому что 33 надо отдать в виде налогов - это совсем другие ощущения.
И во втором случае вопросов к управлению налоговыми поступлениями государством будет гораздо больше.
Такое и не каждый человек сегодня сможет.
Хочу помыть авто, мойкп через 50 метров. Как быстрее добаться до мойки: пешком или на машине.
Что-то вроде такого.