2011-02-18 50 views
0

enity bean已生成序列標識(oracle主鍵)。我們需要以某種方式捕捉這個序列,並將其保存到另一個字段。例如:捕獲oracle序列並將其設置爲JPA中的另一個字段

class Entity { 
    @Id long id; 
    @Column long parentId; 
} 

這個想法是讓parentId和oracle生成的id一樣,如果它是空的。例如:

@PrePersist 
void prePersist() { 
    if (parentId = 0) parentId = id; // but id is not yet generated 
} 

目前我們使用DB觸發器來實現這一點,但能在這個JPA完成(最好不冬眠特定的類)?

回答

1

當我們在JPA中堅持一些entity時,我們的entity對象變成了管理對象,並且此時應該有id填充。由於它關於前堅持,而不是後堅持,你不會有你的id填充。

相關問題