ibatis-user-cs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Wright" <nom0regoodna...@hotmail.com>
Subject iBATIS features
Date Wed, 25 Jan 2006 15:42:20 GMT

Hi Chad, thanks for your fast reply, I'm just analyzing feasibility between 
various ORMs and Object databases for a project beggining next two weeks. 
Since this, the number of ORMs available, and the nature of the analysis 
(comparison chart) I'd like to get responses as Yes/No if possible, 
otherwise I'd have to check all the documentation anyway.
best regards

Michael

>From: Chad Humphries <chad.humphries@gmail.com>
>Reply-To: user-cs@ibatis.apache.org
>To: user-cs@ibatis.apache.org
>Subject: Re: ezmlm response
>Date: Wed, 25 Jan 2006 10:06:43 -0500
>
>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 <nom0regoodnames@hotmail.com> 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/
> >
> >

_________________________________________________________________
Las mejores tiendas, los precios mas bajos, entregas en todo el mundo, 
YupiMSN Compras: http://latam.msn.com/compras/


Mime
View raw message