Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для Alradalion
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485

Hibernate

16.12.2016, 14:49. Показов 817. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал я конфигурацию, написал Entity Book и Author и Repository к ним.
И решил написать класс Library

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Component
public class LibraryImpl implements Library {
 
ConfigurableApplicationContext ctx = new AnnotationConfigApplicationContext(MainConfig.class);
 
final AuthorRepo authorRepo = ctx.getBean(AuthorRepo.class);
final BookRepo authorRepo = ctx.getBean(BookRepo.class);
 
//    @Autowired
//    private BookRepo bookRepo;
 
public void addBook(Book book) {
Book savedBook = bookRepo.saveAndFlush(book);
}
И все бы хорошо, но как-то
Java
1
2
3
4
ConfigurableApplicationContext ctx = new AnnotationConfigApplicationContext(MainConfig.class);
 
final AuthorRepo authorRepo = ctx.getBean(AuthorRepo.class);
final Book Repo authorRepo = ctx.getBean(Book Repo.class);
Сильно смущает в классе. А если вынести в бин, он его не подхватывает. И вообще не уверен, что можно вынести в бин

И можно ли это вообще будет в майне запустить, как
Library library = new LibraryImpl();
library.saveBook(new Book());
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2016, 14:49
Ответы с готовыми решениями:

Hibernate Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
Доброго времени суток. Сталкиваюсь со всякими ошибками при добавлении данных в свою mysql бд. Вот код ошибки Exception in thread...

hibernate
погуглил в нете, а тоолковой статьи так и не нашел м.б. подскажете чтонить с примерами и описанием для нубов?) тестовые задачи были бы...

Hibernate
Привет. Вкратце опишу ситуацию. В проекте используется Hibernate для работы с БД (ранее с Hibernate совсем не работал). Нужно поменять...

7
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
16.12.2016, 15:01
Цитата Сообщение от Alradalion Посмотреть сообщение
И можно ли это вообще будет в майне запустить, как
Library library = new LibraryImpl();
Такие вопросы появляются от непонимания того, что вы используете. Прочтите подробнее про аннотацию Component. А заодно и про dependency inejction.

Добавлено через 3 минуты
Цитата Сообщение от Alradalion Посмотреть сообщение
@Component
Этим самым вы сказали контейнеру, чтобы он управлял жизненным циклом этого класса. Так что вы не вправе создавать новый инстанс сами, но зато вы вполне можете запросить у контейнера нужный инстанс.
0
 Аватар для Alradalion
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485
16.12.2016, 16:09  [ТС]
neske, да, для меня это пока легкая магия...
Я правильно понимаю, что мне надо написать что-то вроде:
Java
1
2
3
4
5
6
7
8
9
10
11
12
@Component
public class LibraryImpl implements Library {
 
@Autowired
private BookRepo bookRepo;
 
@Autowired
private AuthorRepo authorRepo;
 
public void addBook(Book book) {
Book savedBook = bookRepo.saveAndFlush(book);
}
А в main
Java
1
2
3
4
5
6
public class Application {
    public static void main(String[] args) {
    ConfigurableApplicationContext ctx = new AnnotationConfigApplicationContext(MainConfig.class);
    Library a= ctx.getBean(Library.class);
    }
}
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
16.12.2016, 16:39
Цитата Сообщение от Alradalion Посмотреть сообщение
мне надо написать что-то вроде:
да, именно так.

Почитайте "Spring 4 для профессионалов". Там уже в начале разбирается, как работать с контекстом в standalone приложениях.
0
 Аватар для Alradalion
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485
16.12.2016, 17:03  [ТС]
Цитата Сообщение от neske Посмотреть сообщение
Почитайте "Spring 4 для профессионалов". Там уже в начале разбирается, как работать с контекстом в standalone приложениях.
Спасибо, почитаю.
Еще вопрос, мне, получается, надо создать бин
Java
1
2
3
4
  @Bean
    Library library() {
        return new LibraryImpl();
    }
И проблема в том, что LibraryImpl имеет конструктор, в который передается id
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
16.12.2016, 17:09
Цитата Сообщение от Alradalion Посмотреть сообщение
Еще вопрос, мне, получается, надо создать бин
не нужно, его созданием займется контейнер

Цитата Сообщение от Alradalion Посмотреть сообщение
И проблема в том, что LibraryImpl имеет конструктор, в который передается id
это уже вы неправильно спроектировали)
0
 Аватар для Alradalion
132 / 126 / 85
Регистрация: 13.09.2013
Сообщений: 485
16.12.2016, 17:18  [ТС]
Цитата Сообщение от neske Посмотреть сообщение
не нужно, его созданием займется контейнер
У меня тогда возникает ошибка No qualifying bean of type [com.my.Library] is defined
0
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
16.12.2016, 17:25
Цитата Сообщение от Alradalion Посмотреть сообщение
У меня тогда возникает ошибка No qualifying bean of type [com.my.Library] is defined
Очевидно какая-то ошибка в конфигурации. Гляньте аналогичные примеры в интернете, их море
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.12.2016, 17:25
Помогаю со студенческими работами здесь

Hibernate
Здравствуйте Только начал изучать hibernate но уже столкнулся со шквалом ошибок конфигурации, то библиотека не та,то c конфигурацией...

Hibernate @Formula
Есть посты (класс Post) и пользователи (класс User), которые могут за них голосовать (положительно или отрицательно). Голоса хранятся в...

JBoss 6.1.0 и Hibernate 4
Помогите со следущей проблемой: Было решено использовать Hibernate 4 не сервере JBoss 6.1.0.Final Написал библиотеку...

Hibernate подключение
Такой вопрос. У меня стоит Denwer и там ,ясное дело, там есть MySQL. Я пытаюсь подключить hibernate.cfg.xml к базе. Но ничего не выходит....

hibernate cascade
Всем доброй ночи! У меня есть две таблицы user и account связанные 1 ко 1. Не получается реализовать каскадное удаление. Чтоб при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru