每次构建应用程序时,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 Maven 的项目中,在编程和编译时包含一个库,但从构建中排除