java - Hibernate sessionfactory 每次启动时都会删除我的数据库内容吗?

标签 java hibernate servlets derby

我正在使用 Hibernate 将 Java 类保存到 derby 数据库中。 第一次运行我的类时,当我运行我的代码时,一切都很好,我可以创建并从我的数据库中回调一个实例,即使我关闭了我的服务器 Tomcat,它仍然存在。

当我加载备份我的服务器时,我发现一旦我返回以下类,我的数据库表就会被删除,该类的功能是创建一个 session 工厂,我用它来创建我的 session ,所以我没有多个工厂,它由一个调用ServletContextListener 以便在调用我的任何 servlet 之前调用它,因此每次运行维护一个工厂。

有谁知道为什么它一直在删除我的数据库,它不只是一个句柄吗

公共(public)类 CreateMysessionfactory { 私有(private) SessionFactory 工厂;

public CreateMysessionfactory() {

    AnnotationConfiguration config = new AnnotationConfiguration();

    config.addAnnotatedClass(UPS.class);

    config.configure();

    factory = config.buildSessionFactory();

}

public SessionFactory getFactory() {
    return factory;
}

下面是调用上述方法的 ServletContextListener,可能会有帮助。

    public void contextInitialized(ServletContextEvent event) {
    // Create the database connection.
    ServletContext ctx = event.getServletContext();

    // Create the database:grab my hibernate object here
    CreateMysessionfactory db = new CreateMysessionfactory();
    ctx.setAttribute("db", db);

    ctx.setAttribute("DbSessionFactory", db.getFactory());

    ItemDataAccessObject dao = new ItemDataAccessObject(db.getFactory());
    Item u = new Item();
    //Item u =dao.getItem(0);
    dao.updateItem(u);

最佳答案

所有实体都在启动时被 bieng 删除,因为您以相同的方式设置了 hibernate 配置,

实际上 HBM2DDl 属性具有这些值更新 |创建 |创建下降

您可能已将其设置为 create-drop,这意味着在启动时删除并创建新模式,从而产生效果。

您可能想将值更改为验证,它只是符合模式是完整的

如果您需要更多详细信息,请参阅链接 http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html

关于java - Hibernate sessionfactory 每次启动时都会删除我的数据库内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10426667/

相关文章:

java - Hibernate 中的 Order 和 OrderLine 关系映射。在哪里放置 @OnetoMany 和/或 @ManytoOne

java - Hibernate 搜索 - 无法执行工作。实体类不是@Indexed,也不是@ContainedIn

java - servlet 创建的 Pdf 文件未正确加载

java - 在 servlet(网络应用程序)中,我如何知道相对路径?

java - 如何将 LocalDateTime 转换为忽略日期时区?

java - Spring Boot应用程序中的sessionFactory不会创建

java - 将数据格式化为类似 JSON 的格式

Java Servlet Web开发问题

java - Kotlin Generics declaration-site variance <in T> 构造

java - jackson / Jersey 动态隐藏子级别