|
|
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Есть БД и Swing клиент, который работает с базой через Hibernate. Если задеплоить Hibernate с клиентом, то у каждого клиента в момент работы будет свой эеземпляр объектов и каждый клиент будет уверен что его порция изменений самая актуальная. (Кто последний сохранил - тот и прав) Можно конечно перечитывать данные перед UPDATE и еще как нибудь изголяться, но сами понимаете - лишнее кодирование. Но правильнее всего видимо такое решение: запускать только один экземпляр Hibernate на сервере, а клиентам к нему обращаться. Мне подсказали и такой вариант: обращаться к Hibernate через EJB. (т.е. еще одна прослойка + врапперы на классы Hibernate и надо видимо изменение данных (flush , commit, и прочее) выполнять только внутри EJB методов) Уважаемые спецы, какие еще могут быть варианты решения ? Спасибо заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 15:42 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
EJB3 persistence + EJB3 Stateful, если не будет конкуррентных (из разных тредов) обращений к одному экземпляру из клиента. по трудоемкости не отличается (даже меньше) от написания DAO классов с вызовами hibernate на для клиентской части. единственное, с EJB3 пока надо осторожно, по крайней мере имплементация от JBoss поглючивает кое-где. just another freak in the Freak Kingdom ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 18:08 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
короче, настоятельно рекомендуется почитать туториалы (+trailblazers) на jboss.org в соответствующем разделе. ejb3 это считайте новое поколение архитектуры, нет смысла уже начинать делать новое по-старому. just another freak in the Freak Kingdom ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 18:15 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
to коты: Спасибо, но с EJB совсем не знаком. А вот про связку DAO+Hibernate можно чуть подробнее типа так: - ставится J2SE 1.x.x - запускается какой то сервер-листенер - ставятся такие то библиотеки - DAO врапится на Hibernate вот так то (или еще как то) Или просто ссылку(и) на step-by-step руководство или туториал. Спасибо заранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 18:19 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
упс авторнет смысла уже начинать делать новое по-старому. а что, Hibernate - уже не то ? отстой ? Просветите пожалуста на этот счет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 18:21 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
galishaа что, Hibernate - уже не то ? отстой ? Это они ерундицией блещут. По сути вашего вопроса гляньте в optimistic locking (http://www.hibernate.org/hib_docs/v3/reference/en/html/transactions.html, 12.3. Optimistic concurrency control) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 18:38 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
galishaупс авторнет смысла уже начинать делать новое по-старому. а что, Hibernate - уже не то ? отстой ? вы спрашивали где вам на сервере запускать hibernate, я вам объясняю, что контейнер много че сделает за вас, с помощью того же хибернейта, читайте документацию че тут скажешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 21:00 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
М.Голованов galishaа что, Hibernate - уже не то ? отстой ? Это они ерундицией блещут. По сути вашего вопроса гляньте в optimistic locking (http://www.hibernate.org/hib_docs/v3/reference/en/html/transactions.html, 12.3. Optimistic concurrency control) у человека проблема с архитектурой приложения а не o.l. ->> Можно конечно перечитывать данные перед UPDATE и еще как нибудь изголяться, но сами понимаете - лишнее кодирование. Но правильнее всего видимо такое решение: запускать только один экземпляр Hibernate на сервере, а клиентам к нему обращаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 21:01 |
|
||
|
Подходы в использовании Hibernate с GUI Swing клиентом
|
|||
|---|---|---|---|
|
#18+
Полез в доку и вот что нашел в самом начале: The EJB3 specification recognizes the interest and the success of the transparent object/relational mapping paradigm. The EJB3 specification standardizes the basic APIs and the metadata needed for any object/relational persistence mechanism. Hibernate EntityManager implements the programming interfaces and lifecycle rules as defined by the EJB3 persistence specification. Together with Hibernate Annotations, this wrapper implements a complete (and standalone) EJB3 persistence solution on top of the mature Hibernate core. You may use a combination of all three together, annotations without EJB3 programming interfaces and lifecycle, or even pure native Hibernate, depending on the business and technical needs of your project. You can at all times fall back to Hibernate native APIs, or if required, even to native JDBC and SQL. Т.е. получается что Hibernate 3 поддерживает спецификацию EJB3 и возможно построение такой архитектуры, когда будет сервер БД + один экземпляр Hibernate и несколько GUI Swing клиентов на разных машинах, которые будут обращаться к EJB. На самом деле запросы будет обрабатывать Hibernate. Спасибо большое за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 12:39 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=766&tid=2150839]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 364ms |

| 0 / 0 |
