Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Java БД Java Spring + Hibernate + Postgresql Добрый день! У меня был проект с использованием Hibernate + Postgres, решил попробовать добавить spring и возникла следующая проблема: Если я явно не объявляю ApplicationContext (Класс AddClientController), то Autowired (Класс ClientService) автоматически не подгружает нужный bean (Класс ConfigurationServices). Как понимаю из официальной документации и тонны статей все должно работать и без... https://www.cyberforum.ru/ java-database/ thread3018096.html Неправильный маппинг или таблица? Java БД
Здравствуйте! Начал изучать хибернэйт и третий день пытаюсь решить проблему. Не понимаю в чем собственно дело. Создал базу данных, сделал по видосику на ютубе маппинг посредством анотаций, но выборка OneToMany не работает. Хибернэйт говорит, что не может найти промежуточную таблицу. Подскажите что я делаю не так? create table Person ( id int primary key NOT NULL AUTO_INCREMENT,
Java БД Spring data jpa - сортировка по полю присоединяемой сущности https://www.cyberforum.ru/ java-database/ thread3015225.html
Здравствуйте! Есть 2 связанные Entity: @Entity @Table(name = "SETTING") @Getter @Setter @FieldNameConstants public class SettingEntity {
Java БД Не могу подключиться к MySQL https://www.cyberforum.ru/ java-database/ thread3014193.html
Ребята, прошу вас мне помочь, вообщем программа должна подключаться к базе данных, но если она не подключится то выводиться "3", так вот "3" выводиться программа не работает, что делать? package com.devcolibri.database; import com.mysql.fabric.jdbc.FabricMySQLDriver; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLException;
Java БД Hibernate ведет себя не ожиданно
Есть сущность Order (заказ) которая ссылается на сущность OrderDetail(OneToOne) и User(ManyToOne) @Getter @Setter @NoArgsConstructor @AllArgsConstructor @Entity @DynamicUpdate @Table(name = "orders") public class Order {
Java БД Java Hibernate + Postgresql Добрый день! Осваиваю язык Java, решил попробовать реализовать легенькую задачку и столкнулся со следующим рядом ошибок: в классе UserDao 45я строка (конец строки), класс User 19я строка и самое главное: авг. 05, 2022 6:54:04 PM org.hibernate.Version logVersion INFO: HHH000412: Hibernate ORM core version 5.5.6.Final авг. 05, 2022 6:54:04 PM... https://www.cyberforum.ru/ java-database/ thread3012226.html
Java БД javax.persistence.NoResultException: No entity found for query Я использую nativeQuery для запроса в бд, успешно нахожу запись в бд и могу ее изменить. Но если по моему запросу запись не находится в базе, то вывалиается javax.persistence.NoResultException: No entity found for query Подскажите могу ли я как то красиво заменить выпадающий эксепшен на null? Добавлено через 1 час 50 минут пока что временно решаю проблему через составной запрос Query... https://www.cyberforum.ru/ java-database/ thread3010616.html Java БД Правильность запроса в базу данных MySQL
Всем привет правильно ли так будет создание таблицы в базе данных при подключении через JDBC?? public class Util { // Собственно реализация подключения private static final String url = "jdbc:mysql://localhost:3306/test"; private static final String user = "user"; private static final String password = "user"; private static Connection connection;
Java БД JPA правильный выбор по полю с доп условиями Есть таблица товар. У товара есть: id, addtime(long epoch), city_id, branch_id, и так далее Мне нужно получить товар с самым ранним addtime для определенного city_id и branch_id из репозитория товара. В первые сталкиваюсь с чем то кроме как crud, поэтому прошу совета как такое организовывается в объектно-ориентированном стиле через hibernate? задача получить экземпляр класса Товар если... https://www.cyberforum.ru/ java-database/ thread3010156.html Java БД при выполнение запроса получаю ошибку No converter found capable of converting from type [java.lang.Integer] to type [c package com.example.springdatatest.Models; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.annotations.Type; import javax.persistence.*; https://www.cyberforum.ru/ java-database/ thread3007432.html
Java БД нужно получить объект с локальной h2 бд spring data
package com.example.springdatatest.Models; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import javax.persistence.*;
Java БД Связь с postgresql в IDE Я пытаюсь написать простой код для связи с базой данных. Но выдает ошибку. Файл application.properties содержит ссылку на локальный хост, имя пользователя и пароль. Текст ошибки. Exception in thread "main" java.lang.ExceptionInInitializerError at jdbc.util.ConnectionManager.open(ConnectionManager.java:19) at jdbc.jdbcRunner.main(jdbcRunner.java:13) Caused by:...
12 / 10 / 3
Регистрация: 31.10.2017
Сообщений: 126
0
PostgreSQL

Hibernate взаимная блокировка нескольких потоков - Java БД - Ответ 16434471

05.09.2022, 14:48. Показов 911. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Итак, значит, имею небольшой тестовый проектик на Java и Hibernate, несколько потоков, все изменяют одну и ту же таблицу.
Использую пессимистическую блокировку. Вот проблемный участок кода:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   public void run() {
        System.out.printf("Thread for user %s run", user.getName());
        Session session = sessionFactory.openSession();
        for (int i = 0; i < 1000; i++){
            Transaction transaction = session.beginTransaction();
            Long randomLotId = getRandomLotId();
            Lot lot = session.get(Lot.class, randomLotId, LockMode.fromJpaLockMode(LockModeType.PESSIMISTIC_WRITE));//исключение тут
            lot.setCurrentRate(lot.getCurrentRate()+100);
            lot.setLastOwner(user);
            transaction.commit();
            try {
                sleep(1);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
        session.close();
        countDownLatch.countDown();
    }
Это метод run из унаследованного от класса Thread класса UserThread.
При запуске 8 потоков параллельно, я получаю:
Код
сент. 05, 2022 3:40:11 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
WARN: SQL Error: 0, SQLState: 40P01
сент. 05, 2022 3:40:11 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper logExceptions
ERROR: ОШИБКА: обнаружена взаимоблокировка
  Подробности: Процесс 21301 ожидает в режиме ShareLock блокировку "транзакция 77116"; заблокирован процессом 21288.
Процесс 21288 ожидает в режиме ShareLock блокировку "транзакция 77111"; заблокирован процессом 21301.
  Подсказка: Подробности запроса смотрите в протоколе сервера.
  Где: при блокировке кортежа (4,33) в отношении "lots"
сент. 05, 2022 3:40:11 PM org.hibernate.event.internal.DefaultLoadEventListener doOnLoad
INFO: HHH000327: Error performing load command
org.hibernate.dialect.lock.PessimisticEntityLockException: could not obtain pessimistic lock
	at org.hibernate.dialect.lock.PessimisticWriteSelectLockingStrategy.lock(PessimisticWriteSelectLockingStrategy.java:101)
	at org.hibernate.persister.entity.AbstractEntityPersister.lock(AbstractEntityPersister.java:2235)
	at org.hibernate.loader.ast.internal.LoaderHelper.upgradeLock(LoaderHelper.java:68)
	at org.hibernate.event.internal.AbstractLockUpgradeEventListener.upgradeLock(AbstractLockUpgradeEventListener.java:35)
	at org.hibernate.event.internal.DefaultLockEventListener.onLock(DefaultLockEventListener.java:80)
	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107)
	at org.hibernate.internal.SessionImpl.fireLock(SessionImpl.java:704)
	at org.hibernate.internal.SessionImpl.fireLock(SessionImpl.java:693)
	at org.hibernate.internal.SessionImpl$LockRequestImpl.lock(SessionImpl.java:2155)
	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.lambda$new$0(DeferredResultSetAccess.java:122)
	at org.hibernate.sql.exec.internal.CallbackImpl.invokeAfterLoadActions(CallbackImpl.java:37)
	at org.hibernate.sql.results.jdbc.internal.JdbcValuesSourceProcessingStateStandardImpl.lambda$postLoad$0(JdbcValuesSourceProcessingStateStandardImpl.java:214)
	at java.base/java.util.HashMap.forEach(HashMap.java:1421)
	at org.hibernate.sql.results.jdbc.internal.JdbcValuesSourceProcessingStateStandardImpl.postLoad(JdbcValuesSourceProcessingStateStandardImpl.java:202)
	at org.hibernate.sql.results.jdbc.internal.JdbcValuesSourceProcessingStateStandardImpl.finishUp(JdbcValuesSourceProcessingStateStandardImpl.java:191)
	at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:149)
	at org.hibernate.sql.results.spi.ListResultsConsumer.consume(ListResultsConsumer.java:32)
	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:437)
	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:166)
	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:91)
	at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31)
	at org.hibernate.loader.ast.internal.SingleIdLoadPlan.load(SingleIdLoadPlan.java:140)
	at org.hibernate.loader.ast.internal.SingleIdLoadPlan.load(SingleIdLoadPlan.java:110)
	at org.hibernate.loader.ast.internal.SingleIdEntityLoaderStandardImpl.load(SingleIdEntityLoaderStandardImpl.java:72)
	at org.hibernate.persister.entity.AbstractEntityPersister.doLoad(AbstractEntityPersister.java:4322)
	at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:4312)
	at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:598)
	at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:571)
	at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:223)
	at org.hibernate.event.internal.DefaultLoadEventListener.lockAndLoad(DefaultLoadEventListener.java:507)
	at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:115)
	at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:74)
	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:118)
	at org.hibernate.internal.SessionImpl.fireLoadNoChecks(SessionImpl.java:1241)
	at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1229)
	at org.hibernate.loader.access.IdentifierLoadAccessImpl.doLoad(IdentifierLoadAccessImpl.java:182)
	at org.hibernate.loader.access.IdentifierLoadAccessImpl.lambda$load$1(IdentifierLoadAccessImpl.java:158)
	at org.hibernate.loader.access.IdentifierLoadAccessImpl.perform(IdentifierLoadAccessImpl.java:105)
	at org.hibernate.loader.access.IdentifierLoadAccessImpl.load(IdentifierLoadAccessImpl.java:158)
	at org.hibernate.internal.SessionImpl.get(SessionImpl.java:1158)
	at threadprocessing.UserThread.run(UserThread.java:36)
Я прикрепил полный архив с проектом, он на maven.
Там есть два файла .sql, один из них создаёт таблицы, а второй наполняет их.

Вернуться к обсуждению:
Hibernate взаимная блокировка нескольких потоков Java БД
Вложения
Тип файла: zip HibernatePartTwoHomework.zip (60.5 Кб, 0 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2022, 14:48
Готовые ответы и решения:

Почему происходит взаимная блокировка потоков?
Код из Гербердта Шилдта, глава 11, класс Deadlock // An example of deadlock. class A { ...

Не срабатывает взаимная блокировка
Изучаю многопоточность при запуски данного кода, всегда выводится два потока, компилятор никогда не...

Многопоточность Java (Взаимная блокировка)
Есть пример public class Student { private ArrayList friends = new ArrayList(); public...

Взаимная блокировка потоков
В одной из моих программ, наблюдается взаимная блокировка потоков. Судя по всему это происходит...

Взаимная блокировка Java
Задание: Разработать программу, которая позволяла бы работать с тремя файлами. Исходная информация...

2
05.09.2022, 14:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2022, 14:48
Помогаю со студенческими работами здесь

Взаимная блокировка транзакций
Здравствуйте! Можно ли каким-либо образом на одном компьютере запустить две транзакции, которые...

Мьютексы, взаимная блокировка процессов
процесс1 два раза посылает данные процессу2 на обработку while(i!=2) { ...

Не понимаю вырезку из книги (Взаимная блокировка)
Читаю книгу Энтони Уильямся &quot;Паралельное программирование на С++&quot;. Но я не совсем понимаю...

Взаимная блокировка приложений с использованием семафоров
Доброго времени суток всем! Имеется такое задание: Искусственно создать взаимную блокировку...

Hibernate, блокировка на чтение и запись
Добрый день! Начала изучать hibernate, возник вопрос: Требуется прочитать значение из...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru