You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-cs@ibatis.apache.org by Michael Wright <no...@hotmail.com> on 2006/01/25 15:59:42 UTC

RE: ezmlm response

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/


iBATIS features

Posted by Michael Wright <no...@hotmail.com>.
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 <ch...@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 <no...@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/


Re: ezmlm response

Posted by Chad Humphries <ch...@gmail.com>.
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 <no...@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/
>
>