Подключение базы данных к проекту. Как правильнее?

 
 
 
Сообщения:19
Доброго времени суток!

Вопрос собственно в следующем:
есть wildfly. есть приложение, использующее hibernate, но без спринга.
Как правильно при этом организовать подключение базы данных к проекту?
ведь есть такая куча вариантов - создать datasource на уровне wildfly,
прописать persistance для хибернейта, наверняка можно еще что-то.

С первым вариантом меня смущает только одно - а как проводить тестирование? Ведь, получается, что для того, чтобы запустился тест, требуется датасорс, а он только при запуске сервера? Или я чего-то не понимаю?
 
 
Сообщения:1165
Если вы создаете datasource на уровне wildfly то скорее всего через JNDI.
JNDI вы можете создать при запуске https://docs.oracle.com/javase/tutorial/jdbc/basics/sqldatasources.html

The meaning of life, universe and everything is 42!
 
 
Сообщения:19
Хм. У меня вопрос как-раз - где правильнее создавать подключение.

Просто прописывать базу данных через консоль wildfly - это как-то не правильно.
(Пока игрался с Tomcat - там было логичнее - прописал в resources/META-INF/context.xml параметры для соединения с базой, дальше
resources/META-INF/persistence.xml и все. Подключение к базе работает.
Хотя в этом у меня не понятно следующее - а как при такой конфигурации проводить тестирование? Ведь тесты JUnit запускаются до поднятия сервера, и программа не может найти соединение с базой. - пришлось изменять подключение к базе данных из context.xml в persistence.xml Так тестирование работает.)

А вот при попытке повторить эти действия на сервере WildFly - соединение с базой не проходит. Для подключения базы пришлось делать следующее
1. кинуть драйвер mysql в директорию развертывания - " wildfly-11.0.0.Final/standalone/deployments "
2. Прописать DataSource через консоль администрирования.
3. Только после этого получилось нормально подключиться к базе.

Но это ведь не правильно? Хотелось бы, чтобы все было сразу в одном месте - проект.war
Может я не правильно хочу?

ЗЫ. Я понимаю, что на учебных проектах можно делать так, как получается, но хотелось бы научиться сразу делать правильно, а не как обычно.....
 
 
Сообщения:278
возможно, можно jetty поднимать для тестирования (я так не пробовал и точно не знаю сработает ли оно - только предположение), если так можно, то тогда можно написать для jetty аналогичный context.xml JNDI конфиг, который будет подключать бд.. для тестирования, наверное, сервер совсем лишний..

если есть хибернейт, то можно прямо из когда делать его конфигурирование, т.е. без использования xml файлов..

я только начал в тему хибернейта входить и как бы пока не имею понятия что есть лучше в плане конфигурирования (с/без учетом тестирования) - hibernate.cfg.xml или context.xml + persistence.xml или использование org.hibernate.cfg.Configuration класса
Изменен:10 янв 2018 05:57
 
 
Сообщения:19
Не, не.
На данном этапе я тестирую не написание кода, а весь стек технологии.... С учетом того, что задача "боевая", а не сферический конь в вакууме, то устанавливать мне надо так, чтобы в последующем мне было удобно это сопровождать. Да, нагрузка у меня будет - 6 человек максимум, поэтому можно не заморачиваться производительностью и плевать практически на все и "прибивать все чуть ли не на шурупы", но хочется-то сделать красиво и правильно....
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет