我正在开发一个使用JPA \ Hibernate的Java Web应用程序,我并不喜欢这项技术。
所以我遇到了以下问题:我有一个名为 ReaDichiarazioneIntento 的模型类,它被映射到名为 REA_DICHIARAZIONE_INTENTO 的数据库表。
这样的事情:
@javax.persistence.IdClass(it.enel.wearea.entity.ReaDichiarazioneIntentoPK.class)
@javax.persistence.Table(name = "REA_DICHIARAZIONE_INTENTO", schema = "EDIWEA")
@Entity
public class ReaDichiarazioneIntento implements Cloneable {
private Integer idDichiarazione;
@javax.persistence.Column(name = "ID_DICHIARAZIONE")
@Id
public Integer getIdDichiarazione() {
return idDichiarazione;
}
public void setIdDichiarazione(Integer idDichiarazione) {
this.idDichiarazione = idDichiarazione;
}
...................................................................
...................................................................
...................................................................
SOME OTHER FIELDS AND RELATED GETTER AND SETTER METHODS
...................................................................
...................................................................
...................................................................
}
我的老板告诉我,我必须在这个表中添加并映射一个新字段,所以我添加了这个字段(将它和相关的getter和setter方法添加到上一个类中),将此代码添加到上一个类:
private Date dataTrasmissioneAde;
@javax.persistence.Column(name = "DATA_TRASMISSIONE_ADE")
@Basic
public Date getDataTrasmissioneAde() {
return dataTrasmissioneAde;
}
public void setDataTrasmissioneAde(Date dataTrasmissioneAde) {
this.dataTrasmissioneAde = dataTrasmissioneAde;
}
他告诉我,重新启动应用程序服务器,Hibernate会自动在我的表中创建这个字段。
我没有收到任何错误,但查看我的表格,我找不到 DATA_TRASMISSIONE_ADE 列。
为什么JPA \ Hibernate在我将其映射到我的模型类之后没有自动创建此列?可能是什么问题呢?我错过了什么?
TNX
答案 0 :(得分:2)
你可以发布你的persistence.xml吗?
它应该包括这样的东西
property name =" javax.persistence.schema-generation.database.action"值="创建"
或删除并创建,但如果删除所有表,则会丢失所有数据 您还可以使用@Temporal anotation更好地映射到日期字段的数据库