ibatis-user-cs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chad Humphries <chad.humphr...@gmail.com>
Subject Re: ezmlm response
Date Wed, 25 Jan 2006 15:06:43 GMT
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/
>
>

Mime
View raw message