We should make this ejb:select tag a method level tag really. Currently you have to declare the ejbSelect method in your class AND define the ejb:select class level @tag too. You method is not generated.
Ara. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:xdoclet-user- > [EMAIL PROTECTED]] On Behalf Of [EMAIL PROTECTED] > Sent: Thursday, February 21, 2002 8:25 PM > To: [EMAIL PROTECTED] > Subject: [Xdoclet-user] ejbSelect method not generated in CMP class! Why ? > > Hi, > > I have a problem with the method signature for my select method not > appearing in the generated CMP class (I'm using EJB 2.0 local CMP entity > beans). Therefore I can't compile my application. > > I have declared a select method like this in my local Partner entity bean: > > * @ejb:select signature="java.lang.String > * selectPartnerIdByBenutzerNamePasswort (java.lang.String > benutzerName, > * java.lang.String passwort)" query="SELECT p.partnerId FROM Partner > as p > * WHERE p.benutzer.benutzerName = ?1 AND p.benutzer.passwort = ?2" > * result-type-mapping="Local" > > Then I have a business method in the bean which makes use of the select > method: > > /* > * Gets the partnerID based on the corresponding user's username and > * password. > * @ejb:interface-method > */ > public String getPartnerIdByUsernameAndPassword( String benutzerName, > String passwort ) > { > try > { > return ejbSelectPartnerIdByBenutzerNamePasswort( benutzerName, > passwort ); > } > catch ( FinderException fe ) > { > return null; > } > } > > After running Ant, the business method signature above is correctly > generated in the local interface and ejb-jar.xml contains a select method > with the correct info declared in my ejb:select tag above. > > However, when compiling my code (after ejbDoclet has done its job) I get > the > following error: > > compile-ejbs: > [javac] Compiling 5 source files to C:\myapp\build\ejb\classes > [javac] > C:\myapp\src\com\logica\insurance\joap\partner\entity\Partner.java:6 > 30: cannot resolve symbol > [javac] symbol : method ejbSelectPartnerIdByBenutzerNamePasswort > (java.lan > g.String,java.lang.String) > [javac] location: class > com.logica.insurance.joap.partner.entity.Partner > [javac] return ejbSelectPartnerIdByBenutzerNamePasswort( > benutze > rName, passwort ); > [javac] ^ > [javac] 1 error > > BUILD FAILED > > > Anyway, problems seems to be that the method signature for the select > method > which should be like > > public abstract ejbSelectPartnerIdByBenutzerNamePasswort( > StringbenutzerName, String passwort ) throws FinderException; > > is NOT generated in the code generated by EJBDoclet, i.e. in the CMP class > which extends the bean class. > > What is going on here? Have I trapped a bug or is there something wrong in > my declaration. Any insight into this would be greatly appreciated since I > really wouldn't like to live without the select methods. > > Thanks, > > Bernie > > P.S. I using the latest binary build for XDoclet. > > _______________________________________________ > Xdoclet-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/xdoclet-user _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com _______________________________________________ Xdoclet-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-user
