为什么 JPA\Hibernate 不自动创建此映射字段?

Why JPA\Hibernate don't automatically create this mapped field?

我正在开发一个使用 JPA\Hibernate 的 Java 网络应用程序,但我不太喜欢这项技术。

所以我有以下问题:我有一个名为 ReaDichiarazioneIntentomodel class 映射到数据库 table 名为 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
    ...................................................................
    ...................................................................
    ...................................................................

}

我的老板对我说我必须添加一个新字段并将其映射到这个 table,所以我添加了这个字段(添加它以及相关的 getter 和 setter 方法到前面的 class) 中,将此代码添加到前面的 class:

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 会自动将此字段创建到我的 table。

我没有收到任何错误,但在我的 table 内部查看,我找不到 DATA_TRASMISSIONE_ADE 列。

为什么在我将其映射到我的模型 class 之后 JPA\Hibernate 没有自动创建此列?可能是什么问题呢?我错过了什么?

Tnx

你能post你的persistence.xml吗?

它应该包括这样的东西

属性 名称="javax.persistence.schema-generation.database.action" 值="create"

或删除并创建,但如果删除所有表,您将丢失所有数据 您还可以放置一个@Temporal 注释,以便更好地映射到日期字段的数据库