【发布时间】:2016-03-28 00:58:20
【问题描述】:
我正在使用 Netbeans 开发一个 Java EE 项目。我使用数据库自动生成了实体和 JPA 控制器。
我现在想通过添加更多表或更新现有表来更新数据库。我遇到的问题是我必须重新生成所有实体和 JPA 控制器——我不希望这样做,因为我的大多数实体都被修改为包含
insertable = false, updatable = false
在数据库使用current_timestamp 的@Column 中。如果我重新生成它们,我将不得不再次修改所有实体以包含 insertable = false, updatable = false。
这就是我创作后想要达到的目标。
@Column(name = "CREATED_ON", insertable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date createdOn;
【问题讨论】:
-
通常,将 Hibernate 的属性
hibernate.hbm2ddl.auto设置为 update 应该只更新检测到更改的架构,因此它应该可以解决您的问题。你可以试试这个方法吗? -
我无法在我的项目中找到该属性
-
如果是这样,请在您的 persistence.xml 文件中包含以下行:
<property name="hibernate.hbm2ddl.auto" value="update"/>
标签: java jpa jakarta-ee netbeans entities