2011-08-01 54 views
0
@Entity 
class Foo { 

@Column 
private String productName; 

@column 
private Date orderedDate; 

@Column 
private int numHits; 
} 

我想=「106天」和numHits爲「5」,指定產品名稱=「玩具」和orderedDate的默認值,所以它們在hbm2ddl期間翻譯爲「默認」值並反映在模式中。是否有JPA指定一個列的默認值的方式

我應該使用什麼樣的註釋,這樣我就可以在一個數據庫無關的方式(如H2,Postgres的,MySQL的)JPA的

回答

2

所以,如果你想有一個缺省對於給定的列值,但你不感興趣的應如何通過數據庫得到保障DDL細節,你還不如干脆現場初始化爲它的默認值:

@Colum(name="emp_salary") 
private double salary = 1500; 

這樣不是工作?

+0

如果有人通過SQL填充它,那麼相同的限制不會保持不變,因爲通過模型修改上述常量 – user339108

1

不是部分實現這一目標明確,雖然你可以將它包括到「columnDefinition」上@Column(這顯然是數據存儲依賴的,所以一個黑客)。你不得不依賴於供應商的細節,如果你想以數據存儲爲agnosticity爲與JPA

JDO是唯一的持久性標準,明確允許,因此是數據存儲不可知

+0

我知道columnDefinition,但正如我前面提到的,我更喜歡數據庫不可知的解決方案。在這個階段,我不確定我是否能夠將代碼從JPA移動到JDO。 – user339108

相關問題