2013-08-05 40 views
1

Enity主鍵記錄的主鍵是在JDO集auto_incremented明確,同時插入在JDO

@Persistent(primaryKey = "true", valueStrategy = IdGeneratorStrategy.IDENTITY) 
    @Column(name = "ID") 
    private Long id; 

的auto_incrimented ID當我插入任何記錄,它的主鍵ID被設置爲隱auto_incremented。

我有一個要求,我要在插入記錄時明確使用setter(setId())來設置此ID(PK)。

我們可以這樣做嗎?

+2

你不能移除',valueStrategy = IdGeneratorStrategy.IDENTITY'嗎? –

+0

不,我們不能刪除,因爲它的記錄的其餘部分,我有我想使用setter設置的具體情況。 –

+1

您是否嘗試通過'makePersistent()'保存對象,然後設置ID,然後再'makePersistent()'? –

回答

1

不可以。正如評論所說,您要麼使用IDENTITY策略(所以它由數據存儲設置),要麼您自己設置它。你不能同時擁有兩個:

+1

謝謝,但應該有這樣的事情,因爲它可能在某些情況下有用。 –

+0

@WavizTeam,我完全同意。 –