每次构建应用程序时,netbeans 中的 MySQL 表都会被清除

Posted

技术标签:

【中文标题】每次构建应用程序时,netbeans 中的 MySQL 表都会被清除【英文标题】:MySQL table in netbeans gets cleared at every time i build the application 【发布时间】:2011-07-28 07:43:45 【问题描述】:

我使用的是 netbeans 6.9.1、Glassfish 3.1。我正在尝试将一些值写入 mysql 表。

这有效,记录可以毫无问题地保存到表中。但是每次我重新启动 glassfish 或构建项目时,MySQL 表中所有保存的数据都会被删除。我该如何避免这种情况。

我已经使用实体 bean 和 Persistence 创建表(自动生成表)

@Entity
public class HotelVacancy implements Serializable 

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToOne (cascade=CascadeType.ALL)
private Hotel hotId;
private int noVancies;

public Long getId() 
    return id;


 ...

我该如何解决这个问题

【问题讨论】:

【参考方案1】:

当您的persistence.xml 中有关注(或类似)行时:

<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>

删除它。

【讨论】:

【参考方案2】:

你在使用休眠吗??

persistence.xml 文件中是否有一个名为 hibernate.hbm2ddl.auto 的属性??

如果是这样,请注释掉或从 xml 文件中完全删除此属性!

【讨论】:

【参考方案3】:

您的 JPA 提供商是否创建了数据库表?如果是,他可能仍然会在您每次应用程序启动时重新创建它们。如果您的模型稳定,请禁用此过程。

【讨论】:

查看 alexblum 对于 EclipseLink 和 gred 对于 Hibernate 的答案。

以上是关于每次构建应用程序时,netbeans 中的 MySQL 表都会被清除的主要内容,如果未能解决你的问题,请参考以下文章

如何在NetBeans中连接MySQL数据库

Netbeans 首次编译器构建错误

Netbeans 和 mysql 通信

在基于 NetBeans Maven 的项目中,在编程和编译时包含一个库,但从构建中排除

如何将 java web 中的 JDBC 连接到 XAMPP (localhost) (NETBEANS)?

Maven构建后某些场景未加载