Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редактор баз данных, на Hibernate 
:(
    Опции темы
BlackD
Дата 20.4.2007, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.10.2005

Репутация: 1
Всего: 1



Здравствуйте. 
  Надумал написать что-то вроде редактора баз данных. С помощью Struts и Hibernate. Так вот, все проблема, что программа не знает (да и не должна), с какой базой работает (сколько таблиц, что за типы у данных). Тем самым возникает проблема с маппингами и с самими классами. Но если классы я немного спроектировал (есть один класс Table, в нем есть поле Columns типа List, состоящее из экземпляров класса Column, а в этом классе есть поле Cells типа List, состоящее из классов Cell, в которых есть поле Value - что-то вроде этого), то с маппингами тупик. С Hibernate знаком только по документации, а там стандартное написание маппинга - связь поля класса с полем таблицы, т.е. с помощью get/set методов в клас записывается ЗНАЧЕНИЕ. А тут походу сами значения постольку поскольку, гораздо важнее все свойства таблиц(количество строк и т.д.)

Посоветуйте пожалуйста, как лучше сделать это все(а если конкретно, как в маппинге указать, что в класс нужно записать не значение, а тип, допустим). И возможно ли это. 
Или может, есть какой-то другой путь, но только с использованием Hibernate.

Ссылки, где можно почитать что-нибудь полезное по этой теме, ООЧЕНЬ приветствуются. smile

Мне как-то советовали использовать MapPersister, но я как-то не понял....

огромное всем спасибо.

PM MAIL   Вверх
chief39
Дата 20.4.2007, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Бррр... стоп... памэдленнэээ....

Тебе нужна штука, коотрая позволит с метаданными БД работать?
И зачем тебе тогда хибер? - это низкоуровневое, лучше директ jdbc

тебе придётся писать специфик классы под каждую БД с единым интерфейсом. И пахать они будут совсем по разному - метаданные в разных бд разо хранятся.

Или я что-то не догнал? smile


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
BlackD
Дата 20.4.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.10.2005

Репутация: 1
Всего: 1



Конечная цель - редактор базы данных MySQL.
Вообще, я бы делал его простыми SQL-командами, но требуется именно с помощью Hibernate...

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

Цитата

то есть надо изменить способ , котороым хибернэйт наполняет значения объектов - обычно он использует Get./set методы для этого, а здесь надо заставить заполнять значения Map


Я пока это не очень понял, поэтому может несколько сумбурно выразил свои мысли smile 
PM MAIL   Вверх
chief39
Дата 21.4.2007, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Цитата(BlackD @  20.4.2007,  22:17 Найти цитируемый пост)
Пользователь должет составлять некий XML-файл, в котором будет инфа о его базе и таблицах. А прога его использует.


Цитата(BlackD @  20.4.2007,  22:17 Найти цитируемый пост)
Конечная цель - редактор базы данных MySQL.


Тогда совсем ничего не понял(ну бог с ним, хибернейтом - часть ТЗ), нужен мощный редактор самой структуры БД - типа создания таблиц, просмотр метаданных етц, или просмотрщик готовых, заранее вписанных табличек?

Или имеется в виду, что вместо поимённой установки полей необходимо брать их набор мапы и по очереди - первая запись в мапе - первое поле и т.д.?


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
BlackD
Дата 21.4.2007, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.10.2005

Репутация: 1
Всего: 1



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

Цитата

Или имеется в виду, что вместо поимённой установки полей необходимо брать их набор мапы и по очереди - первая запись в мапе - первое поле и т.д.?


вот походу это и надо
PM MAIL   Вверх
chief39
Дата 21.4.2007, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: 11
Всего: 77



Мммм.... И под какую СУБД? Ты ведь понимаешь что все они по сути - разные?

Попробуй качнуть SQuirreL и поглядеть сырцы. Мож там на поверхносит решение лежит smile

Готовый уже клиент для того самого ;)
Юзаю, работает. Ещё подумаем




--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
BlackD
Дата 21.4.2007, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.10.2005

Репутация: 1
Всего: 1



Спасиб, сча гляну.
Редактор надо под MySQL. И фишка в том, что на Hibermate.
PM MAIL   Вверх
BlackD
Дата 22.4.2007, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.10.2005

Репутация: 1
Всего: 1



Скачал, смотрю.
Дааа, чужой код, что душа - потёмки smile Столько много всего и сразу, особенно для человека, не работавшего над крупными проектами...

В общем, я там натолкнулся на такую интересную фишку Hibernate, как DatabaseMetaData. Как я понял из JavaDoc, она позволяет средствами Hibernate получать метадату таблиц, колонок.
org.hibernate.tool.hbm2ddl.DatabaseMetadata

Надо с этим поэкспериментировать....

Вроде подойдет для меня.

Но... Hibernate конфиги, возможно ли их полноценно сгенерировать, основываясь на Метадате таблиц? Я пока не знаю, по какому принципу их составлять. 
Просто в доках метаданные получаются вручную, через код. А вот как автоматизировать все это через конфиги...
  
Код

// Connect to the server.
     Connection c = DriverManager.getConnection("jdbc:as400://mySystem");

                       // Get the database metadata from the connection.
     DatabaseMetaData dbMeta = c.getMetaData();

                       // Get a list of tables matching the following criteria.
     String catalog = "myCatalog";
     String schema  = "mySchema";
     String table   = "myTable%"; // % indicates search pattern
     String types[]  = {"TABLE", "VIEW", "SYSTEM TABLE"};
     ResultSet rs = dbMeta.getTables(catalog, schema, table, types);

                       // Iterate through the ResultSet to get the values.

                       // Close the Connection.
     c.close();



Буду думать....

Огромное спасибо за помощь! Хоть теперь направление появилось, куда думать smile
PM MAIL   Вверх
ss1943g
Дата 25.4.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 18.5.2006

Репутация: нет
Всего: нет



есть исходник собственного просмоторщика базы под мускул..... правдо недоделанный ... могу  скинуть.

а так суть его такова что есть таблица JTable реализую собственный метод таблемодел , перегружаю методы его , и получаю в в одном флаконе хранение и вывод данных таблицы.

линки щас найти не могу ,но в нете много статей именно с этой системой
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0750 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.