У меня есть три класса, сопоставленные с использованием стратегии отображения классов таблицы на подкласс. Таблицы:
- Изображения - ImageId, FileName, ImageData
- CategoryImages - CategoryId, ImageId
- ProductImages - ProductId, ImageId
Мы отображаем так:
<class name="CatalogImage" table="Images">
<id name="Id" column="ImageId">
<generator class="guid.comb"/>
</id>
<property name="FileName"/>
<property name="ImageData" lazy="true"/>
<joined-subclass name="CategoryImage" table="CategoryImages">
<key column="ImageId"/>
<many-to-one name="Category" column="CategoryId"/>
</joined-subclass>
<joined-subclass name="ProductImage" table="ProductImages">
<key column="ImageId"/>
<many-to-one name="Product" column="ProductId"/>
</joined-subclass>
Я могу сохранить экземпляры Image, CatalogImage и ProductImage.
Однако основная причина составления типов изображений таким образом заключается в том, что у меня есть одна центральная галерея изображений, из которой я могу брать изображения и прикреплять их к товару, категории и т. Д.
Это часть, с которой я борюсь. Как я могу получить экземпляр Image и использовать его для создания экземпляра ProductImage и после сохранения добавить ссылку на таблицу ProductImage.
Я попробовал базовое приведение (ProductImage)normalImage
, но это не удалось, так как я использую динамический прокси.
Спасибо,
Бен