簡體   English   中英

hibernate4中的默認值

[英]default value in hibernate4

我有映射到oracle數據庫表的Object類。 在此類中,數據庫中的一列具有默認值。 我用了這個:@Column(name =“ FK_STATUS”,nullable = false,columnDefinition =“ int default 1”)數據庫中的列類型是Number。 但出現“無法在FK_status中插入null”錯誤。 請幫忙。

由於我沒有在您的行中看到任何語法錯誤,因此我在使用H-3時不太了解H-3。

這可能是一個解決方法,不能完全解決您的問題。

variable使用默認值。

private Integer fkStatus= 1;

columnDefinition將起作用

columnDefinition = "int default 1" (should be "default 1")

但是您必須首先重新創建數據庫表。 它將設置您的列以將空值設置為int 1

好吧,您應該通過以下方式重新創建數據庫

persistence.xml

<property name="hibernate.hbm2ddl.auto" value="create-drop"/>

或手動執行

update {TABLE} 
set FK_STATUS = 1 
where status is null;

alter table {TABLE} modify (FK_STATUS default 1 NOT NULL);

@NGS,唯一性,可空性,默認性等約束是JPA / Hibernate在表創建期間將使用的關鍵字。 創建表后,它沒有任何意義。 例如,如果您首先創建一個表,該表的一列不唯一,並且您計划通過提供注釋來控制該列的唯一性,那么它將無法正常工作。

為創建表提供了所有這些類型的元數據。

我想在您的Hibernate-Mapping Column代碼中進行小的更正,請參見下文

@Column(name = "FK_STATUS" ,nullable = false, columnDefinition = "int(10) default 1")

使用了這個,讓我知道,如果這不適用於您的代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM