比方說,我有幾個字段兩個表,並在每個表都有一個主鍵,這是由數據庫序列生成的技術ID:如何插入與序列生成的技術主鍵的n:m關係?
table1 table2
------------- -------------
field11 <pk> field21 <pk>
field12 field22
field11
和field21
由序列生成。
另外還有一個:
INSERT INTO table1 VALUES (table1_seq1.NEXTVAL, ...
INSERT INTO table2 VALUES (table2_seq1.NEXTVAL, ...
因此I:插入語句期間生成
table3
-------------
field11 <fk>
field21 <fk>
的ID在table1
UND table2
:table1
UND table2
之間間的關係,在table3
設計不知道我的程序的數據訪問層中添加行的主鍵,因爲pk
的生成完全在數據庫中發生SE。
現在更新table3
的最佳做法是什麼?我如何才能訪問我剛剛插入的行的主鍵?
雖然我解決了我的問題,但我將此問題留待討論,因爲我認爲這可能是一個普遍問題。我有一些與我沒有明確提到的問題有關的細節,因爲我想一般性地討論這個話題。我使用的是Ibator Ibatis作爲DAO框架,它可以通過在ibator.config文件的''-tag中使用''-tag來處理這種情況。有關此特定案例的更多信息,請查看Ibatis [手冊](http://ibatis.apache.org/docs/tools/abator/configreference/generatedKey.html) –
bl4ckb0l7
2010-05-05 09:00:34