我正在尝试使用以下架构构建电子商务应用程序 1.数据库服务器Mysql-用于存储产品,客户信息,订单等。 2. Web服务器(Glassfish 4.1.1)-为了向客户端/ Android应用提供数据,它使用Hibernate 4.3从数据库中获取数据 3.使用swings开发的独立Java客户端-要添加产品,客户信息和处理订单,它将使用jdbc使用原始sql命令将数据推送到数据库中
Webserver可以使用休眠模式读取数据,但是如果客户端通过后端进行任何插入/更新操作,则直到重新初始化会话工厂时,Webserver才会显示更新的数据
有没有做它而无需重新初始化
下面是我的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>
答案 0 :(得分:0)
Hibernate使用多种类型的缓存,并且并非一直都从数据库中直接读取数据。您可以了解有关此here的更多信息。
答案 1 :(得分:0)
休眠缓存是Web服务器中的本地缓存。 Web应用程序读取数据时,数据将缓存在本地。
在您的情况下,您需要像redis这样的分布式缓存,您的Web应用程序和Java客户端都可以在其中共享数据