powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: помогите с архитектурой
14 сообщений из 64, страница 3 из 3
Hibernate: помогите с архитектурой
    #37914685
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
ой, проглядел
Petro123нет, я читаю, и помню, и у меня хорошая память. Просто я ответ отложил на потом (модель важнее).
Ответ - мешать логику с реализацией персиста - можно.

Если нет понятного и элегантного способа не мешать (без контейнера), то конечно буду мешать. Я просто надеялся что такой способ есть.

Насчет взглядов со стороны базы или кода, тут тоже полно нюансов. Не зная как может и как не может мапить хибернейт, можно облажаться с плясками от базы. А если начать от кода, можно получить на выходе монстра в базе. У меня получилось лажануться с обеих сторон.
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914694
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,
- да приведи ты кодом, что именно в строке кода - не нравится.
- да. В Java есть ОРМ, и желательно знать обе стороны. Хотя есть полно сторонников, что БД вторичный импотент в Java)
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914722
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Petro123это выше совершенно непонятно. Подкрепите кодом.
ну ваш же код
Petro123import org.hibernate.Session;
import ru.javatalks.faq.persistence.hibernate.bookstore.Book;
import ru.javatalks.faq.persistence.hibernate.util.HibernateUtil;

public class Main {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Book book = new Book();
book.setPageCount(520);
book.setTitle("Tales of Round Table");
session.save(book);//сохранили книгу, наш id сгенерировался и сразу заполнился
book = (Book) session.get(Book.class, book.getId());
book.setPageCount(430);
session.save(book);
session.delete(book);
session.flush();
session.close();
}
}
Придется менять, если вы вдруг решите использовать не хибернейт, а если бы там были обернутые методы, то менять бы не пришлось. например, если бы было так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public static void main(String[] args) {
       
        Book book = new Book();
        book.setPageCount(520);
        book.setTitle("Tales of Round Table");
        MyPersist.save(book);//сохранили книгу, наш id сгенерировался и сразу заполнился
        book = MyPersist.getBook(book.getId());
        book.setPageCount(430);
        MyPersist.save(book);
        MyPersist.delete(book);
        
    }


Но тут, к сожалению никак не впихнуть весь мэйн в одну транзакцию.

Petro123 Вы можете управлять транзакциями (декларативно или через try) только в рамках сессии сервлета Мне бы хоть для десктопа решение найти.
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914738
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerМне бы хоть для десктопа решение найти.
Spring
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914749
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,
- обернуть можно всё, даже Хибер (вместо Session написать MyPersist) , ведь хибер - обычный класс.
Только вот Локика кода сильно завязана на ОРМ\не ОРМ, Десктоп\Веб и т.д.

авторМне бы хоть для десктопа решение найти.
чтобы ОРМ менять как перчатки - иллюзия.
Может тебе и ОРМ не нужен?
))
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914896
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
да нужен, хотя бы чтоб руками не мапить
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914897
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
вообщем или мешать логику/персист или использовать контейнер/спринг. так?
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914900
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
спасибо
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914914
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapeckerPetro123,
вообщем или мешать логику/персист или использовать контейнер/спринг. так?
так))
Мы уже обсуждали этот вопрос с Blazkowicz. Он профи в этом вопросе.
Будет ли код проще _для тебя_ с использованием спринг - вопрос личный и неоднозначный.
Лучше знать оба варианта.
Я у тебя не увидел мешанины из-за замены Session на MyPersist (сессия потокоозащищённый объект)
Удачи!
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37914926
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,
вообще, сделай наглядный пример, и выложи. Раз 3 страницы понаписал.
Ждёмс.
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37915019
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, базу или код?
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37915176
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
javapecker,
Ты же сам просил все сразу)))
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37917231
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно минимальное тз с критичными хотелками?:) Я то вы обсуждаете по моему каких то абстракции ;)
...
Рейтинг: 0 / 0
Hibernate: помогите с архитектурой
    #37917260
javapecker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин, можно. Но хотелки будут те же что и с конфетами.
...
Рейтинг: 0 / 0
14 сообщений из 64, страница 3 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate: помогите с архитектурой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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