#java #oracle #hibernate #oracle11g
#java #Oracle #спящий режим #oracle11g
Вопрос:
Я выполнил базовый тест JUnit для настройки этой базы данных Oracle на моем компьютере с помощью hibernate. База данных работает и все такое, но попытка подключить ее к Hibernate оказывается сложной задачей. Мой конфигурационный файл может быть здесь:
Тест JUnit довольно прост, и я уверен, что он должен работать, но я получаю этот сбой JUnit:
org.hibernate.exception.JDBCConnectionException: Cannot open connection
Есть идеи, что с этим не так?
Свойства соединения в файле конфигурации Hibernate:
<session-factory>
<property name="hibernate.connection.driver_class">
oracle.jdbc.OracleDriver</property>
<property name="hibernate.connection.url">
jdbc:Oracle:thin:@127.0.0.1:8080/slyvronline</property>
<property name="hibernate.connection.username">
YouNoGetMyLoginInfo</property>
<property name="hibernate.connection.password">
YouNoGetMyLoginInfo</property>
<property name="dialect">
org.hibernate.dialect.OracleDialect</property>
<!-- Other -->
<property name="show_sql">true</property>
<property name="hibernate.hbm2ddl.auto">validate</property>
<!-- Mapping files -->
<mapping class="com.slyvr.pojo.Person"/>
</session-factory>
Ответ №1:
Маловероятно (но возможно), что ваша БД прослушивает порт 8080. Oracle по умолчанию использует порт 1521. Начните с этого.
(Поскольку это проблема с подключением, полезны соответствующие части конфигурации Hibernate; я отредактировал, чтобы отразить.)
Комментарии:
1. Ах, вы правы. Похоже, URL-адрес работает с: jdbc:oracle:thin:@localhost:1521:xe . За исключением того, что я получаю сообщение об ошибке с указанием отсутствующей последовательности или таблицы: hibernate_sequence
2. @slyvr Это проблема с отображением; должно быть под новым вопросом.
Ответ №2:
В вашей строке подключения возможны две проблемы
во-первых, это порт, указанный Дейвом Ньютоном, во-вторых, после порта вы должны добавить sid после: not / .
Так что попробуйте это как решение:
jdbc:Oracle:thin:@127.0.0.1:1521:slyvronline
Ответ №3:
При подключении к oracle нет необходимости указывать имя схемы, поэтому URL-адрес подключения выглядит так, как показано ниже
jdbc:oracle:thin:@<hostname>:<port>:<sid>
ex:
jdbc:oracle:thin:@localhost:1521:xe