Java 用Hibernate动态修改数据库
我正在用Hibernate ORM和MySQL DB开发一个J2EE Web应用程序,并将其部署在Glassfish应用服务器中。用户可以通过GUI在DB表中添加记录 问题是: 用户执行一些操作并在DB表中添加记录。 但当我显示该特定表的数据时,不会显示新添加的记录。 虽然DB表在查询时显示新输入的记录 我必须重新部署应用程序以反映GUI中的更改 这是从generateplan表中获取记录的Servlet代码Java 用Hibernate动态修改数据库,java,mysql,hibernate,jakarta-ee,web-applications,Java,Mysql,Hibernate,Jakarta Ee,Web Applications,我正在用Hibernate ORM和MySQL DB开发一个J2EE Web应用程序,并将其部署在Glassfish应用服务器中。用户可以通过GUI在DB表中添加记录 问题是: 用户执行一些操作并在DB表中添加记录。 但当我显示该特定表的数据时,不会显示新添加的记录。 虽然DB表在查询时显示新输入的记录 我必须重新部署应用程序以反映GUI中的更改 这是从generateplan表中获取记录的Servlet代码 static Session s1 = null; static Transacti
static Session s1 = null; static Transaction tx1 = null;
static{
s1 = HibernateInitilizationSessionFactory.f1.openSession();
tx1 = s1.beginTransaction();
}
String queryStmt = "SELECT s FROM GeneratePlan s";
System.out.println("queryStmt:"+queryStmt);
Query q = s1.createQuery(queryStmt);
planList = (ArrayList<GeneratePlan>) q.list();
System.out.println("planList size:" + planList.size());
在HibernateInitializationSessionFactory中,创建了SessionFactory类。假设页面每次都执行一个新的数据库查询,那么您肯定只需要刷新页面吗?这听起来很像ORM/Webserver缓存结果的过程。如果您可以从另一个连接查询表并显示正确的结果,我想不出MySQL会成为问题的原因。显示servlet或控制器和db access codeCan如果您显示代码,我们会更好地理解问题。同意Alex的说法。Ritna,这听起来像缓存。在二级ORM缓存甚至浏览器缓存中。尝试CTRL+F5或任何组合键,您的特定浏览器也必须在页面上进行硬刷新,以确保它不会像那样愚蠢。