首页 > 解决方案 > 如何在 JPA 中插入默认值?

问题描述

我想在使用 JPA 创建和更新时将默认值保存在列中,我在数据库和 java 中尝试过,但未注册。IDE:NetBeans8.2 BD:Oracle11g

在此处输入图像描述

在此处输入图像描述

标签: jpa

解决方案


为什么不将实体中的字段设置为默认值?

@Entity
public class X {
    private static final String DEFAULT_EST_ALQ = "A"

    @Column(name = "EST_ALQ")
    private String estAlq = DEFAULT_EST_ALQ;

    public setEstAlg(String estAlg) {
        // overwrite default value
    }
}

AfaikcolumnDescription仅在从实体生成表时使用,例如

<property name="javax.persistence.schema-generation.database.action" value="create"/> 

在persistence.xml中

如果您通过 SQL 创建表,则应考虑默认值。

CREATE TABLE X(
   EST_ALQ CHAR(1 CHAR) DEFAULT 'A'
)

推荐阅读