I agree on all these points. I'd like to add a few points of my own. I recently started using JAXB for xml parsing and it uses a system similar to torque. You specify a schema that describes the xml file and it generates java files using ant which are used to represent that data. However, it also allows for additional validation and I've always wished that torque had a pluggable validation capability. Errors that come from the database are not standard, so I can't write code that'll work with multiple databases if I write code that checked the error code in the SQLException. OTOH, if Torque had optional pluggable validation that validated each field as the set method was called for it, then I could write code that caught and dealt with those exceptions in a portable way. We use both Oracle and SQL Server here, so I need to be able to write code that works for both. This point has been answered before that validation should be at the db level, but that's just not portable.

At 12:33 PM 4/1/2003, you wrote:
Hi,

We've used Torque extensively in the last 12 months as the O/R wrapper for
both a web site and a server application.  This includes use both within
Turbine and in separate applications.

I like these features
-- robust
-- reasonably well-documented
-- does the basics well (simple queries, insert/update, delete)
-- source code is very readable
-- generates Java source code from XML schema in a way that allows me to
easily update both
-- the Torque-user list is very helpful
-- Torque integrates very nicely with a MVC approach

A note on the last point.  A lot of our code involves a servlet processing
velocity pages.  The servlet can do a query, which generates a list of
objects mapped to records.  My velocity page can iterate through those
objects and display the properties with some very simple presentation layer
statements.  I've found this combination (Torque/Velocity/Servlet) to be
highly productive for basic data-backed applications.

I've been frustrated on these points

-- Doing queries with "ands" and "ors" is confusing and not robust.  The
"criteria" object is not easy to use for complex queries.

-- All the generated Java OM source code files inherit from a common Torque
class, making it hard to add new methods across the board.  This is
additonally difficult in the Peer classes in which the important methods
(e.g. doSelect) are static.

-- I've submitted a few small patches for bug fixes and simple feature
enhancements, and have had difficulty getting any of the committers to pay
attention.  (to be fair, I haven't tried in a while).

Hope this is useful.  I'm currently doing a project using Hibernate, just to
compare and see the difference.

Be glad to answer any questions on my experience.

Best, WILL

P.S. A couple of example apps:

http://broadcast.forio.com/discuss  (fairly simple discussion board)
http://broadcast.forio.com (business simulation development/hosting,
requires registration)

_______________________________________
Forio Business Simulations
Will Glass-Husain
[EMAIL PROTECTED]
www.forio.com


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to