powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
7 сообщений из 7, страница 1 из 1
JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
    #33655037
galisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день !

Подключаюсь к Hibernate из JBOSS стандартно через JNDI. Т.е. сразу получаю SessionFactory. Пролазив по API Hibernate3 не нашел, как через SessionFactory заполучить конфигурацию и маппинги.

На формуме JBoss такой вот ответ .

Я в этом ответе не разобрался.

Смотрел также в сторону API org.jboss.hibernate.*; Вроде диалект там можно узнать, но как ? И в маппинги оттуда не попасть (не очевидно).

Если кто делал такое - поделитесь пожалуйста !
Спасибо
...
Рейтинг: 0 / 0
JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
    #33655966
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
? зачем вам конфигураця и маппинги ?
кстати EJB3.0 - рулит
...
Рейтинг: 0 / 0
JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
    #33655993
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а буржуй Emmanuel Bernard сказал

получите em (EntityManager), из него сессию, из неё фабрику
Смотрим javax.persistence.EntityManager реализуется всего парой классов
org.jboss.ejb3.entity.InjectedEntityManager и Extended (для stateless и stateful соотв.)
оба они реализуют org.jboss.ejb3.entity.HibernateSession
в котором есть метод getHibernateSession()
ну так и получаем, а из неё фабрику

наверное.... ни чё в этом на панимаю
...
Рейтинг: 0 / 0
JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
    #33657371
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У SessionFactory есть методо getDialect() и getAllClassMetadata().
А у Session есть getSessionFactory()!?
...
Рейтинг: 0 / 0
JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
    #33657557
galisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо,

expp ? зачем вам конфигураця и маппинги ?
Ну для того, чтобы решать сервисные задачи по сбору статистики, переиндексации индексов. У каждой БД свои же примочки.

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

funikovyuri У SessionFactory есть методо getDialect() и getAllClassMetadata().
Я вот не нашел в SessionFactory метода getDialect(), по крайней мере для Hibernate3. И с ходу не разобрался как из getAllClassMetadata() можно вытащить описания таблиц.

P.S. пытался диалект вытащить через System.getProperty инстанса JBoss, но там ерунда.
P.P.S. есть конечно вариант через JDBC метаданные вытащить и узнать поля таблицы. Но ведь в H3 есть хороший класс
Код: plaintext
org.hibernate.mapping.Table
. Там все есть. Как вот только добраться ?
...
Рейтинг: 0 / 0
JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
    #33659748
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
    #33663255
galisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to funikovyuri:

Спасибо за подсказку. Ларчик просто открывался. Явно не было описано (по крайне мере я не нашел), что SessionFactory, который вытаскивается через конструкцию:
Код: plaintext
sFactory = (SessionFactory)ctx.lookup(jndiName);
реализует пресловутый SessionFactoryImpl.

Поэтому все сводится к следующему:
Код: plaintext
org.hibernate.dialect.Dialect dlc = ((SessionFactoryImpl)sFactory).getDialect();

Всем спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JBoss 4.0.3 + H3: как выяснить Dialect БД и маппинги
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]