Прошло много времени с тех пор, как я в последний раз использовал реализацию Hibernate в CF9, и сейчас я нахожусь в точке, где я не вижу леса для всех деревьев (вероятно, недостаточно кофе).
Я упростил пример, чтобы сделать его более понятным, но суть проблемы та же (сопоставление соединений в компонентах с несколькими таблицами должно предусматривать необязательные отношения).
Внутри моего пользовательского компонента у меня есть следующее свойство для включения адреса электронной почты, который хранится в отдельной таблице.
<cfproperty name="sEmail"
type="string"
default=""
table="UserEmail"
joincolumn="fkUserID"
inversejoincolumn="pkUserID" />
К сожалению, это создает ВНУТРЕННЕЕ СОЕДИНЕНИЕ, тогда как я хотел бы ВЛЕВОЕ СОЕДИНЕНИЕ, чтобы запись в другой таблице не была обязательной для извлечения / сохранения сущности.
Итак, мой вопрос:
Какой атрибут необходим, чтобы превратить его из обязательного (например, INNER JOIN) в необязательный (например, LEFT OUTER JOIN)?
Результаты Google были переполнены примерами, связанными с HQL, что делало эту опцию в основном непригодной для использования.
Заранее спасибо за ваши ответы.
Добавлено позже:
Сам Hibernate имеет для этого «необязательный» атрибут (http://www.scribd.com/doc/2732589/Hibernate-Reference-Documentation#outer_page_74), но, похоже, нет прямого перевода в атрибуты CF. Но, может быть, еще есть шанс, что кто-то еще может узнать способ.