Thank you for your help.

But it doesn´t work. I need the returning pk after commit. In your way oracle 
is setting a new pk in my table
Because we use a trigger which creates a new pk by oracle when I do 
table.persist(). I can´t change the mechnism because it is an old 
infrastructur. In ejb2.x we have our own oraclecreatecommand

  | public class OracleCreateCommand  extends JDBCIdentityColumnCreateCommand
  | {
  |   protected void initInsertSQL()
  |   {
  |      pkIndex = 1 + insertFields.length;
  |      jdbcType = pkField.getJDBCType().getJDBCTypes()[0];
  | 
  |      StringBuffer sql = new StringBuffer();
  |      sql.append("{call INSERT INTO ").append(entity.getTableName());
  |      sql.append(" (");
  |      SQLUtil.getColumnNamesClause(insertFields, sql);
  |      sql.append(")");
  |      sql.append(" VALUES (");
  |      SQLUtil.getValuesClause(insertFields, sql);
  |      sql.append(")");
  |      sql.append(" RETURNING ");
  |      SQLUtil.getColumnNamesClause(pkField, sql)
  |         .append(" INTO ? }");
  |      insertSQL = sql.toString();
  |      if (debug) {
  |         log.debug("Insert Entity SQL: " + insertSQL);
  |      }
  |   }
  | 
  | 

This is returning the created pk form oracle after persist().
And know in JPA a need a similar mechanism.
I think the 

  |  @GenericGenerator(name="select", strategy="select",
  |                     parameters = 
  |                     {
  |                       @Parameter(name = "key", value = "idstoerung")
  |             })
  | 
Is the right way. but is seems there is a bug in jboss, isn´t it?
Is there no one who is using a oracle trigger for generating the pk?


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4085543#4085543

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4085543

_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to