Можем ли мы использовать пользовательские (не скалярные) SQL-типы для ORM? - PullRequest
2 голосов
/ 27 апреля 2011

Мне интересно, возможно ли сделать ORM с использованием типов объектов SQL.2003 (также называемых STRUCTs, также называемых нескалярными типами).

Идея заключается в том, чтобы избежать "n +1 выбирает «проблему », извлекая полные объекты непосредственно из базы данных.Вроде нетерпеливый "FetchMode.JOIN", но в базе данных .

Существуют ли какие-либо платформы ORM для Java или .Net, которые вообще поддерживают типы объектов SQL?

По крайней мере в JDBC есть метод getObject , и я также нашел пример пользовательских типов в ADO.Net

КакРазработчик Oracle, я могу быть склонен к подходам, ориентированным на базы данных, и раньше я также не использовал ORM.Но в Oracle есть Object Views , которые позволяют вам составлять объекты из нескольких реляционных таблиц.Могу поспорить, что это может быть на порядок быстрее, чем вытаскивать все эти отдельные записи из базы данных, не говоря уже о выборе n + 1.

1 Ответ

1 голос
/ 27 апреля 2011

Я разработчик jOOQ , и я стараюсь сделать jOOQ именно то, что вам нужно.В настоящее время jOOQ поддерживает любую из этих функций Oracle:

  • Все типы конструкций SQL, включая вложенные операции выбора, псевдонимы, операции объединения и т. д.
  • Хранимые процедуры и функции
  • Пакеты
  • типы VARRAY (сопоставленные с массивами Java)
  • типы UDT (сопоставленные с объектами Java)
  • их комбинации

Будет оказана дополнительная поддержкадобавлено в ближайшем будущем для расширенных концепций Oracle, таких как

  • типы TABLE
  • типы CURSOR, REF CURSOR
  • другие типы коллекций

Виды объектов в настоящее время не поддерживаются так, как вы описали, но я четко обозначу их в дорожной карте.

Подробнее см. http://www.jooq.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...