Интеграция языков программирования с базами данных: в чем состоит проблема?

Рис. 6. Сводка качественной оценки решений проблемы потери соответствия

PJama
OPJ
Exodus
Ontos
EJB 1.0
ObjStore
O2
JDO 1.0
EJB 2.0
Hibernate
TopLink
ODBC
JDBC
SQLJ S/NQ Linq
Типы  
T1. Отображение × ×
T2. Null-значения
Интерфейс  
S1. Ортогональная персистентность * * * × × * ×
S2. Явное выполнение запросов × ×
Оптимизация  
P1. Явные индексы * – √ ×
P2. Пересылка критериев × – × – √ × √ × √ × √ √ √ √ √ √
P3. Навигационное упреждающее чтение × – × – * √ √ * √ × √ √ × – * *
P4. Многоуровневая итерация × – × – × – * × × – × – × – * √
P5. Манипулирование массивными данными × – × – × – × – √ × √ √ × – × –
Повторное использование явных запросов  
R1. Параметры запросов √ × √ × √ × √ √ √ √ √ √
R2. Динамические запросы √ × √ × √ × × – √ √ √ √
R3. Модульные запросы √ × √ × √ × × – √ √ √ √
Параллелизм  
C1. Транзакции ×

√ √ = Свойство поддерживается и статически типизировано
√ × = Свойство поддерживается, но не является статически типизированным
× – = Свойство не поддерживается
√ = Свойство поддерживается
* = Частично поддерживается
× = Не поддерживается
– = Не применимо