Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用Hibernate动态修改数据库_Java_Mysql_Hibernate_Jakarta Ee_Web Applications - Fatal编程技术网

Java 用Hibernate动态修改数据库

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

我正在用Hibernate ORM和MySQL DB开发一个J2EE Web应用程序,并将其部署在Glassfish应用服务器中。用户可以通过GUI在DB表中添加记录

问题是: 用户执行一些操作并在DB表中添加记录。 但当我显示该特定表的数据时,不会显示新添加的记录。 虽然DB表在查询时显示新输入的记录

我必须重新部署应用程序以反映GUI中的更改

这是从generateplan表中获取记录的Servlet代码

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或任何组合键,您的特定浏览器也必须在页面上进行硬刷新,以确保它不会像那样愚蠢。