hello again,
i have tried this in different versions but cant get the expected result:
here my table definition as sql:
ID NOT NULL NUMBER
WORKFLOW_ID NOT NULL NUMBER
ACTION_ID NOT NULL NUMBER
URL NOT NULL VARCHAR2(255)
NAME NOT NULL VARCHAR2(255)
TARGET VARCHAR2(255)
here my table definition in abatorConfig.xml:
<table schema="c108272dev" tableName="ODM_LINK">
<generatedKey identity="true" column="id" sqlStatement="SELECT
c108272dev.ODM_LINK_COUNTER.nextval AS id FROM dual" />
</table>
the sqlmap i get looks like this:
<insert id="abatorgenerated_insert"
parameterClass="org.dea.odm.model.abator.model.OdmLink">
<!--
WARNING - This element is automatically generated by Abator for iBATIS,
do not modify.
This element was generated on Wed Jul 05 18:19:23 CEST 2006.
-->
insert into c108272dev.ODM_LINK (WORKFLOW_ID, ACTION_ID, URL, NAME, TARGET)
values (#workflowId:DECIMAL#, #actionId:DECIMAL#, #url:VARCHAR#,
#name:VARCHAR#, #target:VARCHAR#)
<selectKey keyProperty="id" resultClass="java.lang.Long">
SELECT c108272dev.ODM_LINK_COUNTER.nextval AS id FROM dual
</selectKey>
</insert>
.. and i'm missing the ID to be inserted and taken from the query below.
the desired result would be something like this:
<insert id="insertLink"
parameterClass="org.dea.odm.model.dao.beans.LinkDaoBean">
<selectKey resultClass="long" keyProperty="id">
select ODM_LINK_COUNTER.NEXTVAL as "id" from dual
</selectKey>
INSERT INTO ODM_LINK
(ID, WORKFLOW_ID, ACTION_ID, URL, NAME, TARGET)
VALUES (#id#, #workflowId#, #actionId#, #url#, #name#,
#target#)
</insert>
.. i cant find out why ibatis does not insert the primary key 'id' ...
thanks for advices
tom.
On Tue, 4 Jul 2006, Jeff Butler wrote:
The iBATIS function you are looking for is <selectKey> - this is
specifically designed for this situation.
Abator will generate <selectKey> statements for you if you use the
<generatedKey> Abator configuration element.
Jeff Butler
On 7/4/06, Thomas Karl Schwaerzler <[EMAIL PROTECTED]>
wrote:
hi,
doesn't really look like:
OdmLinkDAOImpl.java:
<snip>
/**
* This method was generated by Abator for iBATIS.
* This method corresponds to the database table c108272dev.ODM_LINK
*
* @abatorgenerated Tue Jul 04 18:48:58 CEST 2006
*/
public void insert(OdmLink record) {
insert("c108272dev_ODM_LINK.abatorgenerated_insert", record);
}
</snip>
greets
tom.
On Tue, 4 Jul 2006, Graeme J Sweeney wrote:
> On Tue, 4 Jul 2006, Thomas Karl Schwaerzler wrote:
>
> You don't have to do this
>
>> link.setId(id);
>
> as this call
>
>> linkDao.insert(link);
>
> will return you the id. Check the javadoc of your DAO (or
LinkDAOImpl.java).
>
> --
> Graeme -
>