重新启动Linux应用程序后,MySQL表为空

时间:2018-11-16 12:02:46

标签: java mysql linux persist

我正在使用休眠将实体对象持久保存在本地运行的数据库中。

只要应用程序正在运行,一切都可以正常工作(连接到数据库,添加/删除/更新条目)。

我正在使用此代码将条目传递给表:

CrudRepository:

public interface ArticleRepository extends CrudRepository<ArticleEntity, Integer> {
}

DB accessor method:

public void addArticleEntity(ArticleEntity articleEntity){
    articleRepository.save(articleEntity);
}

重新启动应用程序后,所有条目都消失了,只有空表本身被永久保存。

如何永久保存这些表条目?

2 个答案:

答案 0 :(得分:0)

persist方法用于将新的实体实例添加到持久性上下文,即,将实例从瞬态转换为持久状态。

我们通常在想要向数据库添加记录(持久化实体实例)时调用它:

Person person = new Person();
person.setName("John");
session.persist(person);

有关更多信息: https://www.baeldung.com/hibernate-save-persist-update-merge-saveorupdate

答案 1 :(得分:0)

很抱歉发布这样的随机信息,我根本不知道从哪里开始搜索。甚至,投票也无济于事。

解决方案是将spring.jpa.hibernate.ddl-auto=create(显然会在重新启动时创建新表)设置为spring.jpa.hibernate.ddl-auto=update

可能会帮助寻找相似术语的人。