Я пытаюсь читать byte[]
изображение из базы данныхorg.hibernate.MappingException: Не удалось определить тип для столбцов:. [Org.hibernate.mapping.Column (imageService)] "}}
Это первый моих двух образований:
@Entity
public class ReceivingInspection implements Serializable {
/**
* The id.
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="RECEIVING_INSPECTION_ID")
private int id;
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "receivingInspection")
private List<ReceivingInspectionImage> receivingInspectionImages;
// Constructors, getters, setters
}
И это моя вторая сущность:
@Entity
public class ReceivingInspectionImage implements Serializable {
@EJB
private ImageService imageService;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="RECEIVING_INSPECTION_IMAGE_ID")
private int id;
@Lob @Basic(fetch = FetchType.LAZY)
@Column(length=16777000)
private byte[] image;
@ManyToOne(fetch = FetchType.LAZY)
private ReceivingInspection receivingInspection;
public byte[] getImage() {
return imageService.getImage(id);
}
// Constructors, getters, setters
}
Это мой DAO:
@PersistenceContext
private EntityManager em;
public byte[] getImage(int id) {
Query query = em
.createNativeQuery("SELECT * FROM RECEIVINGINSPECTIONIMAGE WHERE RECEIVING_INSPECTION_IMAGE_ID = ?");
query.setParameter(1, id);
ReceivingInspectionImage image = (ReceivingInspectionImage) query.getSingleResult();
return image.getImage();
}
Когда я пытаюсь развернуть мое приложение, я получаю:
org.hibernate.MappingException: Не удалось определить тип для: my.application.util.ImageService, за столом: ReceivingInspectionImage, для столбцы: [org.hibernate.mapping.Column (imageService)] "}}
Что может вызвать проблему? Есть ли ошибка в том, как я использую сопоставление Hibernate?
Исключение буквально говорит, что он не распознает поле imageService объекта 'ReceivingInspectionImage' как допустимый столбец базы данных. Почему вы вводите EJB в Entity? – BalusC