Hi All,

I want to use the CMP 2.0 that would work with the oracle database sequence...
I m using Jboss 4.0.1 as my application server.

I have successfully used the Oracle sequence with my CMP 2.0, ....but it works 
only when the primary key is a single field primary key and not a composite key 
for which PrimaryKeyClass would have to be used.
Example when the primary key is a single field:: 

in ejb-jar.xml::==>

<prim-key-class>java.lang.Integer</prim-key-class>
<primkey-field>no</primkey-field>

in the jbosscmp-jdbc.xml file ::==>

<unknown-pk>
<unknown-pk-class>java.lang.Integer</unknown-pk-class>
<field-name>no</field-name>
<column-name>NO</column-name>
<jdbc-type>Integer</jdbc-type>
<sql-type>Integer</sql-type>
<auto-increment/>
</unknown-pk> 
<entity-command name="oracle-sequence">
tempseq
</entity-command> 

Here <field-name>no</field-name> is my field on which oracle-sequence is 
applied....and so that I dont have to pass
that field while calling create method of the bean (CMP 2.0)...

The problem I face is that in one of the tables, the primary key is a composite 
key, constituting of 4 fields. On one of the fields out of these, the 
oracle-sequence is to be applied. But the above described method does not work 
in the case of composite primary key. Could some one please help me out in this 
?

the ejb-jar.xml file has the following entry for the primary key class::==>
<prim-key-class>com.business.process.EjbTwoPK</prim-key-class>

in the jbosscmp-jdbc.xml file the entry for the field on which sequence is 
applied, is::==>
<unknown-pk>
<unknown-pk-class>com.business.process.EjbTwoPK</unknown-pk-class>
<field-name>emailId</field-name>
<column-name>EMAIL_ID</column-name>
<jdbc-type>Integer</jdbc-type>
<sql-type>Integer</sql-type>
<auto-increment/>
</unknown-pk> 
<entity-command name="oracle-sequence">
MT_REQ_EMAIL_ID_SEQ
</entity-command>

But with above configuration, at deployment time, I get following exception 
................. ==>

org.jboss.deployment.DeploymentException: Generation only supported with single 
PK field
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.getGenerated
PKField(JDBCAbstractCreateCommand.java:160)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCIdentityColumnCreateCommand.initGe
neratedFields(JDBCIdentityColumnCreateCommand.java:46)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.init(JDBCAbs
tractCreateCommand.java:84)
at org.jboss.ejb.plugins.cmp.jdbc.keygen.JDBCOracleCreateCommand.init(JD
BCOracleCreateCommand.java:37)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCCommandFactory.createCreateEntityC
ommand(JDBCCommandFactory.java:151)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.startStoreManager(JDB
CStoreManager.java:466)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.start(JDBCStoreManage


Please guide me in using Oracle-sequence with CMP 2.0 EntityBean when the 
primary key is composite key and the application server used is JBoss 4.0.1.

Thanks in advance, 

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

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


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to