Это снова я, у меня проблемы со входом в систему того же пользователя.В любом случае, нашел решение:
Я переключил провайдера JPA моего сервера на TopLink, но тогда лучшее, что я мог получить, - это не ленивая выборка (но по крайней мере без нуля или исключения).
Тогда я попробовал другой подход.Я создал новую сущность для той же таблицы, в которой хранится мое поле lob, тогда как предыдущая сущность содержала не поле lob, а новую сущность.Я связал их двоих отношениями один к одному и ленивым извлечением, и это сработало!
Мне потребовалось некоторое время, потому что работает только определенное отображение, как вы можете видеть здесь:
@Entity
@Table(name="MY_TABLE")
public class A implements Serializable {
private Long id;
private ALob lob;
@Id
public Long getId() {return id;}
public void setId(Long id) {this.id = id;}
@OneToOne(fetch=LAZY)
@JoinColumn(name="ID", insertable=false, updatable=false)
public ALob getLob() {return lob;}
public void setLob(ALob lob) {this.lob = lob;}
}
@Entity
@Table(name="MY_TABLE")
public class ALob implements Serializable {
private Long id;
private byte[] data;
@Id
public Long getId() {return id;}
public void setId(Long id) {this.id = id;}
public byte[] getData() {return data;}
public void setData(byte[] data) {this.data = data;}
}
Да, и кстати, это не работает с Kodo, только TopLink.