У меня есть Picture
:
public class Picture implements java.io.Serializable {
private byte[] picEncoded;
private String Name;
//etc
Можно ли переместить byte[]
в другой класс без создания физически разделенной таблицы в БД?Нужно ли использовать какую-то стратегию наследования?
edit
BLOB-объект в отдельной сущности:
pojo :
public class PictureBlob implements java.io.Serializable {
private Integer pictureBlobId;
private byte[] blob;
hbm: :
<class name="PictureBlob" table="PICTURE">
<id name="pictureBlobId" type="int">
<column length="200" name="PictureID"/>
</id>
<property name="blob" type="byte[]" insert="false" update="false">
<column name="PicEncoded" not-null="false"/>
</property>
</class>
Изображение:
hbm: :
<one-to-one class="PictureBlob" constrained="true" name="pictureBlob" fetch="select"/>
Как вставить новые картинки?
PictureBlob pictureBlob= new PictureBlob();
pictureBlob.setBlob(new byte[]{84,32,22});
Picture p = new Picture();
p.setPictureBlob(pictureBlob);
session.save(p);
вставляет запись, в которой значение BLOB-объекта равно нулю.