Potrzebuję wypełnić 2 różne identyfikatory w tej samej tabeli we wkładce i próbuję użyć selectKey do pobrania wartości z sekwencji Oracle w celu zapełnienia identyfikatorów.Czy jest możliwe, że w ibatis ma więcej niż jedną klauzulę selectKey w tym samym kwerendzie wstawiania?
Z jednym id i selectKey nie mam żadnych problemów, ale kiedy dodaję drugi selectKey, wartość nie wydaje się zapełniać (patrz sekcja wstawiania poniżej).
Czy można to zrobić? Czy będę musiał utworzyć kolejną kwerendę, aby zaktualizować drugi identyfikator?
Dzięki
<insert id="create" parameterClass="MyObject">
<selectKey keyProperty="id" resultClass="long" type="pre">
<include refid="sequences.myObjectId" />
</selectKey>
<selectKey keyProperty="mySecondId" resultClass="long" type="pre">
<include refid="sequences.mySecondId" />
</selectKey>
INSERT INTO MY_OBJECT_TABLE
(
MY_OBJECT_ID,
MY_SECOND_ID,
...
)
VALUES
)
#id#,
#mySecondId#,
...
)
</insert>
Nie lubię odpowiadać na własne propozycje, ale ostatecznie znalazłem odpowiedź gdzie indziej. Mam nadzieję, że to pomoże komuś innemu w przyszłości. –
Używam MS SQL, mam podobny wymóg. Teraz zamiast odbierać ** MY_SECOND_ID ** z sekwencji, muszę pobrać z innej tabeli. Czy można użyć kwerendy wyboru zamiast sekwencji? –
Minęło trochę czasu odkąd użyłem MS SQL, ale może dodając (SELECT ID z yourQuery), zamiast MY_SECOND_ID_SEQUENCE.nextval,? –