Mohibur Rashid Ответов: 1

Нерегулярный сбой создания sessionfactory


Initial SessionFactory creation failed.org.hibernate.HibernateException: Could not parse configuration: hibernate-annotation.cfg.xml


Это ошибка, которую я получаю. Приложение работает правильно все время, за исключением 2 инцидентов, когда приложение выбрасывало эту ошибку.

Моя основная догадка заключается в том, что java/hibernate не смог подключиться к серверу mysql. Который я тоже расследую. Но я не совсем понимаю, что происходит. Вот конфигурационный файл для любопытного ума
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
		"http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<!-- Database connection properties - Driver, URL, user, password -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">${mysql_url}</property>
		<property name="hibernate.connection.username">${mysql_user}</property>
		<property name="hibernate.connection.password">${mysql_pass}</property>

		<!-- org.hibernate.HibernateException: No CurrentSessionContext configured! -->
		<property name="hibernate.current_session_context_class">thread</property>
		<!-- <property name="hibernate.show_sql">true</property> -->
		<!-- <property name="hibernate.format_sql">true</property> -->
		<property name="connection.autocommit">true</property>

		<!-- Mapping with model class containing annotations -->
		<mapping class="*.hibernatemodel.*" />
	</session-factory>
</hibernate-configuration>


Что я уже пробовал:

Я просмотрел журналы, он ничего особенного не предлагает. Если бы это была постоянная ошибка, Я бы знал, наверное. Ожидая услышать опыт людей. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.


--дальнейшие выводы--
hibernate доступ к url-адресу http://hibernate.org/dtd/hibernate-configuration-3.0.dtd в Runtime. Если по какой-либо причине приложение не сможет подключиться к интернету, мое приложение потерпит неудачу. Если я удалю Doctype все вместе, приложение завершится неудачей. И мне не нравится, что моя партия получает доступ каждую минуту(моя партия работает каждую минуту).

Кто-нибудь знает какое-нибудь потенциальное решение? Кроме того, чтобы избавиться от спячки, конечно.

1 Ответов

Рейтинг:
6

Mohibur Rashid

После поиска в google по нужной теме, я нашел решение в файле for DTD. Использование локального файла решит эту проблему.

А в hibernate-core есть dtd-файл. Итак, решение таково

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
		"classpath://org/hibernate/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<session-factory>
		<!-- Database connection properties - Driver, URL, user, password -->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">${mysql_url}</property>
		<property name="hibernate.connection.username">${mysql_user}</property>
		<property name="hibernate.connection.password">${mysql_pass}</property>
		<property name="hibernate.current_session_context_class">thread</property>
		<property name="connection.autocommit">true</property>

		<!-- Mapping with model class containing annotations -->
		<mapping class="*.hibernatemodel.*" />
	</session-factory>
</hibernate-configuration>