【发布时间】:2013-05-22 17:09:03
【问题描述】:
在使用 DBUnit 将数据导出到 Oracle 时,如何使用 Oracle 序列为我的表自动生成主键?
【问题讨论】:
-
看看this。这似乎是一个潜在的解决方案,虽然不是开箱即用的。
标签: dbunit
在使用 DBUnit 将数据导出到 Oracle 时,如何使用 Oracle 序列为我的表自动生成主键?
【问题讨论】:
标签: dbunit
我遇到了同样的问题,但没有找到任何答案。我最终使用了一个触发器来自动生成技术密钥,如这篇文章中所述create table with sequence.nextval in oracle
CREATE OR REPLACE TRIGGER ticketSequenceTrigger
BEFORE INSERT
ON TICKET
FOR EACH ROW
WHEN (new.id IS null)
DECLARE
v_id TICKET.id%TYPE;
BEGIN
SELECT TICKET_ID_SEQ.nextval INTO v_id FROM DUAL;
:new.id := v_id;
END ticketSequenceTrigger;
然后我只是在初始和预期数据集中省略了 id 列:
<ticket title="Ticket 1"
description="Description for ticket 1"
status="NEW"
created_date="2013-07-01 12:00:00"/>
【讨论】: