You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Rakesh Midha (JIRA)" <ji...@apache.org> on 2007/01/09 07:52:27 UTC

[jira] Closed: (GERONIMO-1079) Better error for missing primkey-field

     [ https://issues.apache.org/jira/browse/GERONIMO-1079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rakesh Midha closed GERONIMO-1079.
----------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: Verification Required)
                   2.0-M1

Closing based on my previous comment
---------------------------------------------------------------------------------
Looks like this problem is fixed in OpenEJB

If my primary key class is java.lang.Integer
I get failure with following message
Error: Unable to distribute myphonebook-ejb.jar: Could not deploy
module

Invalid primary key class: ejbName=MyPhonebookBean pkClass=class
java.lang.String

If my primary key class is any other class with non-static field
Error: Unable to distribute myphonebook-ejb.jar: Could not deploy module
caused by EJB [MyPhonebookBean] is misconfigured: could not find CMP
fields for following pk fields: [ABC] [XYZ]

The reason being a
If primary key class is provided and primary key name is not provided, deployer consider it as a compound key. Compound key with no non-static field is invalid primary key hence Invalid primary key class in case of java.lang.Integer. In other cases where compound key contains non-static field "could not found fields for following pk fields" for all the non-static fields.

I think this is working as required. Please confirm and close this JIRA.
----------------------------------------------------------------------------------------------------------------

> Better error for missing primkey-field
> --------------------------------------
>
>                 Key: GERONIMO-1079
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-1079
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: deployment, OpenEJB
>    Affects Versions: 1.0-M5
>            Reporter: Aaron Mulder
>            Priority: Critical
>             Fix For: 2.0-M1
>
>
> I forgot the primkey-field for my CMP entity, and I got this:
>     Error: Unable to distribute LoadMagus.ear: Could not deploy module
>     caused by EJB [TestRunMachine] is misconfigured: could not find CMP
>     fields for following pk fields: [TYPE] [MAX_VALUE] [MIN_VALUE]
> Now, I don't know where it got TYPE, MAX_VALUE, and MIN_VALUE from -- those are not fields on my EJB or the table or anything.  I did have a prim-key-class set to java.lang.Integer, so perhaps it picked up the static fields on java.lang.Integer (if so why?  I wouldn't have thought statics were relevant).  It would be better if the error said "missing primkey-field or prim-key-class does not have properties matching CMP field names" or something like that.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira