powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Линтер, Java, Hibernate ...
9 сообщений из 9, страница 1 из 1
Линтер, Java, Hibernate ...
    #33801763
Фотография Johnbat26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем !!!
Из-за недавнего перехода с Interbase и MySql на Линтер у меня упреждающе возникло несколько вопросов использования Линтера и Java.

1. Для своих проектов на Java Enterprise Edition я предпочитаю использовать ORM Hibernate, как средство для абстрагирования от конкретной СУБД.
Вопросы :
- Кто использовал Линтер и Hibernate вместе?
- Есть ли там какие-нибудь "подводные камни" типа проблем КОДИРОВКАМИ или диалектами?
- Не мог бы кто-нибудь поместить сюда xml файл для подключения Hibernate к Линтеру ?(Типа файла коннектора JBoss или datasource в Tomcat).

2. После продолжительного использования Interbase и MySql я привык использовать GUI средства для подключения и работы с СУБД. Например в Interbase: IBExpert, MySql: MySql Query Browser.
Вопрос:
- Есть что-нибудь подобное в Линтере и как оно называется? :)

3.
- Какую версию JDBC драйвера использует Линтер?
- Поддерживает ли она более одного процессора?

4. Вопросы по производительности и надежности:
- Как из java производительность и надежность Линтера по сравнению с Interbase?
- Как из java производительность и надежность Линтера по сравнению с MySql?

Очень жду ответов!!! :)
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33803706
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Johnbat26
- Есть ли там какие-нибудь "подводные камни" типа проблем КОДИРОВКАМИ или диалектами?
Ну собственно это и есть подводные камни:
- кодировку надо указывать в свойстве "encoding" драйвера (должна быть указана такая же как на сервере в переменной LINTER_CP);
- диалект надо использовать линтеровский, он называется com.relx.hibernate.LinterDialect (Он делался в прошлом году - возможно, к новой версии Hibernate уже не очень подходит, но скорее всего будет корректно работать.). Прилагается собранный и исходный модули;
- если использовать HibernateTools или подобные утилиты, то имена объектов нужно писать обязательно большими английскими буквами. Hibernate не умеет брать имена в кавычки (по крайней мере в той версии с которой мы работали такие проблемы были, возможно какая-то лажа в метаданных).

- Не мог бы кто-нибудь поместить сюда xml файл для подключения Hibernate к Линтеру ?(Типа файла коннектора JBoss или datasource в Tomcat).
Вот пример.
Кусок hibernate.cfg.xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
   PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
   "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
   <session-factory>
       <property
name="connection.datasource">java:comp/env/jdbc/DB</property>
       <property name="dialect">com.relx.hibernate.LinterDialect</property>
...
   </session-factory>
</hibernate-configuration>
Кусок web.xml для tomcat:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

...

   <resource-ref>
       <description>Base Main Database</description>
       <res-ref-name>jdbc/DB</res-ref-name>
       <res-type>javax.sql.DataSource</res-type>
       <res-auth>Container</res-auth>
       <res-sharing-scope>Shareable</res-sharing-scope>
   </resource-ref>

...

</web-app>

Кусок context.xml для tomcat (этот файл связывает JNDI имя с конкретным
драйвером и настройками):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/base" debug="5" reloadable="true" crosContext="true">

...

   <Resource name="jdbc/DB" auth="Container"
       factory="com.relx.jdbc.jndi.LinterDataSourceFactory"
       type="com.relx.jdbc.jndi.LinterDataSource"
       url="jdbc:linter:linapid:localhost:1070:local" user="SYSTEM"
       password="MANAGER" encoding="CP866" />

...
</Context>

Вместо context.xml в других серверах приложений может использоваться другой способ задания JDBC ресурсов через JNDI (в SunApplicationServer это делается в gui).
Как бы оно не делалось надо задать:
- имя ресурса, по которому оно будет искатся - "jdbc/DB"
- фабрика для создания DataSource - "com.relx.jdbc.jndi.LinterDataSourceFactory"
- конкретная реальзация DataSource - "com.relx.jdbc.jndi.LinterDataSource"
- url к базе данных - "jdbc:linter:linapid:localhost:1070:local"
- имя пользователя - "SYSTEM"
- пароль - "MANAGER"
- свойство влияющее на кодировку соединения "encoding" - "CP866"

Interbase: IBExpert, MySql: MySql Query Browser.
Вопрос:
- Есть что-нибудь подобное в Линтере и как оно называется? :)
Есть. Называется "Рабочий стол" или Lindesk. Их два. Lindesk - работает
только под виндами. И более новый - Lindeskx - работает везде.

- Какую версию JDBC драйвера использует Линтер?
Линтер поддерживает версии JDBC 1,2 и 3.
Файл последнего драйвера называется linjdbc-1.4.jar. Он поддерживает 3
версию стандарта JDBC.
Для работы с JNDI необходимо дополнительно использовать linjndi-1.2.jar.

(В случае tomcat достаточно положить оба jar файла в <tomcat
home>\common\lib\ )

- Поддерживает ли она более одного процессора?
Драйвер JDBC написан с учётом параллельной многонитевой работы.С точки
зрения масштабируемости: cервер использует одну читающую нить и по нити
на соединение (или процессы в некоторых системах), на клиентской стороне
так же используется дополнительная нить на соединение.
Сам сервер ЛИНТЕР, в принципе, может эффективно задействовать порядка
четырёх процессоров. При увеличении количества процессоров, в текущей
версии,
пропорцинального роста производительности не получится.

- Как из java производительность и надежность Линтера по сравнению с Interbase?
- Как из java производительность и надежность Линтера по сравнению с MySql?
Таких сравнений мы делали. Попробуйте на своей тестовой задаче, если будут
вопросы - посмотрим.
Надёжность достаточная. В unix есть возможность организации горячего резервирования (hot standby server). Есть асинхронная репликация.
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33803819
Фотография Johnbat26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо pavelvp !!!
Теперь я полностью готов к работе !!!
Не ожидал, что у Вас есть диалект для Hibernate!?!
Желаю удачи всем разработчикам Линтера!
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33803865
Фотография Johnbat26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати. Вот еще что...
Можно ли запустить ядро Линтера для работы более чем с одной БД ?
Или для каждой БД надо ОБЯЗАТЕЛЬНО стартовать свое ядро?
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33803893
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждой БД по ядру :-)
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33804002
Фотография Johnbat26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если запускать, к примеру, 2 ядра Линтера на одной машине, то необходимо ли менять порты для запуска самого второго ядра (пр. 1060 ->1061) и второго java listener'а (пр. 1070->1071) ?
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33805129
Фотография Johnbat26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё вопрос:
Если я сделаю базу в Linter 6.1, то она без проблем перенесется в Linter 5.9 если работать из Java, или нет?
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33806178
pavelvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если запускать, к примеру, 2 ядра Линтера на одной машине, то необходимо ли менять порты для запуска самого второго ядра (пр. 1060 ->1061) и второго java listener'а (пр. 1070->1071) ? Да, на разные порты. Только не ядра и сетевого драйвера. У ядра свои параметры тоже есть. Посмотрите в документации - там всё подробно описано.
Johnbat26
Если я сделаю базу в Linter 6.1, то она без проблем перенесется в Linter 5.9 если работать из Java, или нет? С Java-приложением проблем не будет. Но БД версий 5.9 и 6.1 бинарно несовместимы. Если у вас 5.9, то и работайте на ней.

Будут вопросы - спрашивайте. Лучше на support, будет надёжней. Т.к. лето всё-таки, отпуска :-)
...
Рейтинг: 0 / 0
Линтер, Java, Hibernate ...
    #33806506
Фотография Johnbat26
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cпасибо за ответ !!!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Линтер, Java, Hibernate ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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