Я nhibernate не курил, но что-то мне подсказывает что у него только интерфейс жабовский. Впрочем жабовский меня тоже не впечатлил, слишком много ручной, никому не нужной работы.
Что касается баз - та их можно вынести в отдельные DB Provider-ы, которые выдают наружу 4 метода для работы с данными (select, insert, update, delete), три для транзакций (begin, commit и rollback), и умеют мапить типы языка в базу (тобишь кто-то будет мапить Guid в uniqueidentifier, кто-то в char(64)). Плюс орм должен позволять навешивать на поля кастомные value converter, который позволяет сконвертировать тип поля в один из стандартных языковых и наоборот. Этого достаточно чтобы покрыть если не все, то хотябы большую часть различных ситуаций.
no subject
Date: 2010-01-13 11:58 am (UTC)Что касается баз - та их можно вынести в отдельные DB Provider-ы, которые выдают наружу 4 метода для работы с данными (select, insert, update, delete), три для транзакций (begin, commit и rollback), и умеют мапить типы языка в базу (тобишь кто-то будет мапить Guid в uniqueidentifier, кто-то в char(64)). Плюс орм должен позволять навешивать на поля кастомные value converter, который позволяет сконвертировать тип поля в один из стандартных языковых и наоборот. Этого достаточно чтобы покрыть если не все, то хотябы большую часть различных ситуаций.