Well I do have sequences defined for my each table which acts as a primary key for my table now I want to use this generatedkey as a foreign key in another table so now if I use my class attribute to have this sequence id , then how can I get that key in java code , I am assuming I can do in following manner please tell me if I a, doing in a right way or not (my DB is Postgres).

<insert id="MSCPerfCntrTrunkTblImpl"
parameterClass="com.hns.hss.nmf.server.log.manager.gensrc.MSCPerformance.impl.MSCPerfCntrTrunkTblImpl">
      <selectKey keyProperty="generatedSequenceId_0" resultClass="int">
      SELECT nextval('MSCPerfCntrTrunk_seq')
    </selectKey>
      insert into MSCPerfCntrTrunkTbl(
seq_no,
      neinfo_id,
      rectimeStamp,
      transactionId,
      destNum_2,
      )
values
      (
      #generatedSequenceId_0#,
      #neInfoId_0#,
      #timeStamp_0#,
      #transactionId_1.value#,
      #count_2.value#,
      )

And in my  java code  if I am writing following statements

SqlMapClient.insert(“MSCPerfCntrTrunkTblImpl”,ObjectpointingtoMSCPerfCntrTrunkTblImpl)

You have two possibilities:

1.

ObjectpointingtoMSCPerfCntrTrunkTblImpl o = ...
SqlMapClient.insert("MSCPerfCntrTrunkTblImpl", o);
Integer id = o.getGeneratedSequenceId_0();

2.

ObjectpointingtoMSCPerfCntrTrunkTblImpl o = ...
Integer id = SqlMapClient.insert("MSCPerfCntrTrunkTblImpl", o);

Ingmar

Reply via email to