Рис. 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. Транзакции | × | √ | √ | √ | √ | √ | √ | √ |
√ √ = Свойство поддерживается и статически типизировано
√ × = Свойство поддерживается, но не является статически типизированным
× – = Свойство не поддерживается
√ = Свойство поддерживается
* = Частично поддерживается
× = Не поддерживается
– = Не применимо