iBATIS supports many of the things you mentioned, I for one use it in most of my asp.net applications and winform applications.
Most of these items would be best served by checking the documentation/manual to refer to built-in features (found here http://cvs.apache.org/dist/ibatis/ibatis.net/beta/Doc-DataAccess-1.7.0.zip), otherwise what are you looking to do with iBATIS? That might help us respond more directly. -Chad On 1/25/06, Michael Wright <[EMAIL PROTECTED]> wrote: > Hi, I would like to know if iBATIS supports the following features: > > Has mapping GUI (For DataBase to Objects, and Objects to Database) > .NET ErrorProviderSupport and DataBinding Support for WindowsForms.NET > > Does not requires manual SQL building, but can easily accept SQL based > queries. > > RDBMS support/independence, and the user can easily add support for other > databases or persistent mechanisms (XML, Prevalence, etc). > > Integration with an MVC framework (like User Interface App Block) o > Metaframework (SpringFramework in Java, for example) for both ASP.NET and > WindowsForms > > Supports relationships between objects (User can choose the names and types > of the foreign keys) > > Mapping supports grouping (GROUP BY clause) > > Mapping supports aggregate functions (count(), avg(), etc.) > > Includes full support of lazy resolution of all queries > > Maintains single identities for objects returned from queries ("uniquing") > (i.e., AddressFinder.findById(1) == AddressFinder.findById(1)); > > Resolves Circular Identities (aka "uniquing") (i.e., "account == > account.getCustomer().getAccount()") > > Generates Mapping as well as the Objects themselves, so you don't duplicate > information in the .NET Objects and the related mapping information. > > Supports Composite Primary Keys > > Aggregate Mappings - Single field maps to multiple fields in database. > http://martinfowler.com/eaaCatalog/embeddedValue.html > > Supports both many to many and one to many associations > > Supports collections of Strings, Integers, Dates, etc > > Supports inheritance / polymorphic queries > > Supports one to one associations > > Can fetch associated objects using SQL outer joins > > Support for optimistic locking / versioning > > Support for Unit of work / object level transactions > > Providing an ODMG compliant API and/or OCL and/or OPath > > Does NOT require "extra" database tables holding locks, metadata, etc. > > Supports multiservers (clustering) and simultaneous access by other > applications without loss of transaction integrity > > ¿Requires code generation? > > ¿Requires RuntimeReflection?? > > Query Caching - Built-in support (developer writes no code). The following > two identical queries will hit the database only once. The second time > cached results will be returned. Address address = > AddressFinder?.selectByPrimaryKey(new Long(1)); assertTrue(address == > AddressFinder?.selectByPrimaryKey(new Long(1))); > > Supports sequences and identity/autoincrement columns for primary key > generation (Not using the incorrect SELECT MAX method) (The user can choose > the name and type of the primary key field) > > Supports ternary associations > > Supports mapping of one class to multiple tables ( Sometimes legacy > databases leave you no choice.) > > Supports mapping of multiple classes to one table > > Supports persistence of properties through private fields > > Supports persistence of properties through accessors (get/set methods or > properties, and they can be private) > > Supports disconnected operations: Populate objects from database, > disconnect, create/remove/modify objects (on client, another Process) and > apply changes to database (much) later > > Support for ASP.NET... (It means it plays well with the request/response > cycle, allows saving objects in the session, unsaved objects have temporary > in memory primary keys that allow transaccions spanning multiple > requests/responses without writing the transaction into the database, etc) > > Support for Remoting. Distributed Objects. > > Support for WebServices > > Support for information exchange with System.Data.DataSet?. > > In memory object filtering (Specifically ask for a complex filter on an > ArrayList of Objects without hitting the database) > > Batch Update (Update lots of objects without object creation). > > Batch Delete (Delete lots of objects without object creation, for example > this is very useful in Cascade Delete for ToMany relationships). > > Saving Changes with one line of code (ObjectsEngine.CommitAllChanges()), > does all the inserts, deletes and updates in the right order, without user > intervention, and without violating Master/Detail relationships. > > Support for nullable types. > > Support for compile-time feedback and correction of queries (IntelliSense in > VS.NET). > > Support for field validation constraints before inserting an object in to > the ObjectContext? > > Support for custom business logic validation constraints befores saving an > UnitOfWork > > Support for ObjectCursors? > > Multi datasource transparent querying. > > Multi datasource transparent querying and saving. > > Non transactional lazy loading of relationships > > > thanks in advance > > _________________________________________________________________ > Charla con tus amigos en línea mediante MSN Messenger: > http://messenger.latam.msn.com/ > >

