>sorry - no, straight JDBC query....
>
>public Collection ejbFindByWhatever( ... )
> throws FinderException
Are you allowed to provide implementation of ejbFind... for *CMP*?
I thought ejbFind... was only for BMP?
The spec says that for CMP (section 10.5.6 of EJB 2 Final Draft 2):
"Every finder method exception findByPrimaryKey must be associated with a
query element in deployment descriptor. Bean Provider declaratively
specifies the EJB QL finder query ..."
>From: Dmitri Colebatch <[EMAIL PROTECTED]>
>Reply-To: Dmitri Colebatch <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: How many Finders to I need for a search enginer?
>Date: Sat, 2 Mar 2002 11:40:31 +1100
>
> > >Whilst I've never been in this situation, I've heard many ppl say
>they've
> > >worked at places where thats exactly what happens - the
> > >DBA writes some PL/SQL, and the developer calls that. Isn't that
>exactly
> > >what finders are trying to replace?
> >
> > Don't know about you org but in mine there are public views and tables
>that
> > any developer or application can use. Heck, a user can even use SQLPlus
> > (Oracle's interactive query utility) to issue any SQL to them.
>
>As I said, I've never been in that situation, but I've heard of it. Yes,
>I've worked places where I've been able to use SQLPlus to
>develop my own queries too (or TOAD :)
>
> > >the same as BMP as I understand it. THere's nothing to stop you
>writing
> > >your own finder method, all you need to do is return allt
> > >he primary keys found - rely on the container to do read-ahead
>optimization
> > >etc, and you have all the flexibility you need...
> >
> > Could you elaborate further? What EQL would you specify for the CMP
> > findByStatement? Something like:
> >
> > select object(t) from myTable t where ?1
> >
> > I don't think that will work. You can only bind values not a part of
> > statement.
>
>sorry - no, straight JDBC query....
>
>public Collection ejbFindByWhatever( ... )
> throws FinderException
>{
> Connection con = null;
> PreparedStatement pstmt = null;
> ResultSet rs = null;
> try
> {
> con = datasource.getConnection();
> pstmt = con.prepareStatement( ... );
> pstmt.setStringIntWhatever....
> rs = pstmt.executeQuery();
> Collection pks = new ArrayList();
> while (rs.next())
> {
> pks.add(constructPK(rs));
> }
> return pks;
> }
> catch (SQLException e)
> {
> throw new FinderException("SQLException: " + e.getMessage());
> }
> finally
> {
> // cleanup
> }
>}
>
>make sense? I think that should work... from there, the only difference is
>that instead of loading the object yourself, as you
>would have without ejbs, you just load the pks, and let the container do
>the rest.
>
>cheers
>dim
>
>
>}
>
> >
> >
> > >From: Dmitri Colebatch <[EMAIL PROTECTED]>
> > >Reply-To: Dmitri Colebatch <[EMAIL PROTECTED]>
> > >To: [EMAIL PROTECTED]
> > >Subject: Re: How many Finders to I need for a search enginer?
> > >Date: Sat, 2 Mar 2002 11:16:24 +1100
> > >
> > > > All these "solutions" would be like a DBA telling people that they
>can't
> > > > issue a query against database, but can only do query through
> > >pre-defined
> > > > database views. Sorry, but this is ridiculous.
> > >
> > >Whilst I've never been in this situation, I've heard many ppl say
>they've
> > >worked at places where thats exactly what happens - the
> > >DBA writes some PL/SQL, and the developer calls that. Isn't that
>exactly
> > >what finders are trying to replace?
> > >
> > > > What about the query statement? Should that be in EQL? Does EJB
> > >container
> > > > know how to map EQL to target DB during runtime? If not EQL,
>wouldn't
> > >the
> > > > application be not portable?
> > >
> > >How would you do this in something other than EJB? you'd basically
>have a
> > >way of constructing the SQL dynamically yes - like the
> > >findByStatement.
> > >
> > > > How would findByStatement work under CMP?
> > >
> > >the same as BMP as I understand it. THere's nothing to stop you
>writing
> > >your own finder method, all you need to do is return allt
> > >he primary keys found - rely on the container to do read-ahead
>optimization
> > >etc, and you have all the flexibility you need...
> > >
> > >cheers
> > >dim
> > >
> >
> >===========================================================================
> > >To unsubscribe, send email to [EMAIL PROTECTED] and include in the
>body
> > >of the message "signoff EJB-INTEREST". For general help, send email to
> > >[EMAIL PROTECTED] and include in the body of the message "help".
> > >
> >
> >
> > _________________________________________________________________
> > Chat with friends online, try MSN Messenger: http://messenger.msn.com
> >
>
>===========================================================================
>To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
>of the message "signoff EJB-INTEREST". For general help, send email to
>[EMAIL PROTECTED] and include in the body of the message "help".
>
_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".