ibatis-user-cs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Wright" <nom0regoodna...@hotmail.com>
Subject RE: ezmlm response
Date Wed, 25 Jan 2006 14:59:42 GMT
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/


Mime
View raw message