P_Alexander, Посмотрите что я скопипастил для простейшего SELECT. Для одного JOIN количество строк увеличится в полтора-два раза.
Оно вам надо?
ИМХО CriteriaAPI это не удобно.
P_Alexander, Возмитесь! :-)
Попробуйте хотя бы spring-boot.
Там много магии, но на стадии изучения она не сильно будет мешать.
Но потом, естественно, надо будет понимать что и как там "унутре" работает.
Из-за "происхождения" Docker.
Изначально он плохо был приспособлен к сохранению состояния.
Поэтому статефул сервисы в нем запускать можно с определенными усилиями.
Но опять же это все зависит от вашей задачи.
Т.е. запускать MySQL в docker можно, но если есть возможность, то лучше этого не делать.
Я бы посоветовал с точностью до наоборот.
Но не буду :-)
ИМХО если ТС хочет использовать ОРМ, в частности Хибернейт, то настоятельно рекомендую попробовать Spring Data Jpa.
Для простейших CRUD подходит идеально, а сложные запросы все равно надо будет писать на SQL.
NewJava, Еще раз. Ваша задача не столько натаскаться в core java (которая на "галерах" не особо нужна), а пройти собеседование.
А натаскиваться надо на том, что на "геларах" реально нужно будет.
Это
1) Maven/Gradle
2) Git
3) Spring/JavaEE/Hibernate
4) SQL
5) NoSQL, как минимум MongoDB
6) Какую-нибудь очередь (ActiveMQ)
7) Возможно система контейнеризации (Docker)
Т.е. надо уметь создать проект с нуля (без IDE) и разместить в системе контроля версий.
А про собеседование я уже сказал.
Записываете какие вопросы задают.
Находите на них ответы.
Зазубриваете, чтобы от зубов отскакивали.
Ну либо путь попроще.
Поступаете в хороший профильный ВУЗ (зарубежный).
Учитесь на нужную специальность.
На 4-5 курсе вас захантят. :-)
NewJava, Проваленное собеседование это не отрицательный результат, а обратная связь.
Проанализируйте те вопросы, на которых завалились.
Подтяните их.
И идите на следующее собеседование.
Повторять пока не примут :-)
NewJava, Какой вопрос, такой ответ ;-)
Я в java начинал просто - устроился на работу программистом.
Это самый простой и действенный способ научиться программировать на java.
Естественно перед этим я посмотрел что это такое.
Собрал небольшой проект. На это у меня ушло около недели.
Ну а дальше на работе - дают задачу, решаю.
Сейчас это просто, т.к. "информация на кончиках пальцев"
Пока вы джуниор решение ваших проблем есть в интернете.
Самое сложное в этом пройти собеседование.
У меня получилось с 10 или 12 раза.
Олег Гамега, Я об этом и говорю.
Помимо строгой типизации (точнее благодоря ей).
Существуют тулы, которые позволяют улучшить код.
Например статический анализатор.
Say_Hello, несмотря на это java проще.
На java легче разрабатывать и поддерживать проекты.
Т.к. java нужно приложить определенные усилия чтобы написать плохо.
А на js наоборот нужно приложить усилия чтобы писать хорошо.
Я вас понял. Но.
Docker это не про разработку.
Docker это про деплой.
На крайний случай на машине разработчика разворачиваются контейнеры для сторонних сервисов.
БД, готовое REST-API и пр.
Но если вам нужно что-то менять в docker, то
1) Это делается с большим геморроем
2) Встает вопрос с сохранением измененных данных
Для вашего случая надо в докер контейнере монтировать внешнюю ФС (локальную для вашего кома), в которой производить изменения.
ИМХО поставить node.js гораздо проще, чем пытаться вести разработку внутри контейнера.
Но каждый сам кузнец своего счастья.
Хотите делать странное, то делайте.
Возможно и получиться.
wiyod, Ага есть не правильное мнение и мое :-)
Просто когда docker используют по сценарию который я описал, то проблем обычно нет.
Как минимум все success-story рассказывают об этом.
А программировать внутри docker'а не удобно.
Да и весь смысл контейнерезации, что бы не заморачиваться.
Поменялось что-то в приложении, вместо того, чтобы мучиться с изменениями внутри контейнера мы создаем новый контейнер и нафиг выкидываем старый.
Ну не совсем выкидываем а кладем в архив, чтобы если что-то не работает, то опять же не ковыряться внутри контейнера. А достать старый рабочий и его запустить.
Основное назначение Docker это доставка приложения к конечному пользователю с минимальными изменениями.
Грубо говоря если приложение завернули в docker, то менять его не нужно (иногда даже вредно).
Если нужно изменение, то изменили, завернули в Docker отправили дальше для тестирования/развертывания.
Оно вам надо?
ИМХО CriteriaAPI это не удобно.