有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (3) 个答案

  1. # 1 楼答案

    如果要在数据库中执行此操作:

    在数据库中设置默认值(sql server示例):

    ALTER TABLE [TABLE_NAME] ADD  CONSTRAINT [CONSTRAINT_NAME]  DEFAULT (newid()) FOR [COLUMN_NAME]
    

    映射休眠文件:

        <hibernate-mapping ....
        ...    
        <property name="fieldName" column="columnName" type="Guid" access="field" not-null="false"  insert="false" update="false"  />
        ...
    

    请参阅,密钥是insert=“false”update=“false”

  2. # 2 楼答案

    如果需要真实的数据库默认值,请使用columnDefinition

    @Column(name = "myColumn", nullable = false, columnDefinition = "int default 100") 
    

    请注意,columnDefinition中的字符串依赖于数据库。此外,如果选择此选项,则必须使用dynamic-insert,因此Hibernate不包括插入时带有null值的列。否则,谈论违约就无关紧要了

    但是,如果您不想要数据库默认值,而只是想要Java代码中的默认值,只需像这样初始化变量-private Integer myColumn = 100;

  3. # 3 楼答案

    使用hibernate注释

    @ColumnDefault("-1")
    private Long clientId;
    

    如果表已经存在,请重新创建该表,以使更改生效