Hibernate не читает последние данные - PullRequest
0 голосов
/ 19 января 2019

Я пытаюсь создать приложение электронной коммерции со следующей архитектурой 1. Сервер базы данных Mysql - для хранения продуктов, информации о клиентах, заказа и т. Д. 2. Веб-сервер (Glassfish 4.1.1) - для предоставления данных клиенту / приложению Android он извлекает данные из базы данных, используя hibernate 4.3. 3. Автономный Java-клиент, разработанный с использованием Swings. Чтобы добавить продукт, информацию о клиенте и порядок обработки, он помещает данные в базу данных с помощью команды raw sql, используя jdbc

.

enter image description here

Веб-сервер может читать данные, используя режим гибернации, но если клиент делает какую-либо вставку / обновление через бэкэнд, веб-сервер не показывает эти обновленные данные до тех пор, пока не будет восстановлена ​​фабрика сеансов

есть ли вообще сделать это без повторной инициализации

ниже - мой код для int и hibernate.cfg

Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
configuration.getProperties()).build();            
sessionFactory = new Configuration().configure().buildSessionFactory(serviceRegistry);

Hibernate.cfg

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/ order_management?zeroDateTimeBehavior=convertToNull</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">abc123</property>

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Hibernate кеш - это локальный кеш на вашем веб-сервере.Данные кэшируются локально, как и когда ваше веб-приложение их читает.

В вашем случае вам необходим распределенный кеш, такой как Redis, в котором ваше веб-приложение и клиент Java могут обмениваться данными

0 голосов
/ 19 января 2019

Hibernate использует несколько типов кэшей и не читает напрямую из базы данных все время. Вы можете прочитать больше об этом здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...