java - org.hibernate.MappingException:无法确定类型:javafx.scene.image.Image,在表:PRODUCT
问题描述
我正在开发一个销售应用程序,我正在使用 Jpa 和休眠如何修复此错误:“ org.hibernate.MappingException:无法确定类型:javafx.scene.image.Image,在表:PRODUCT,对于列:[ org.hibernate.mapping.Column(图片)]"
我的课产品
@Entity
@Table(name="PRODUCT", schema = "ROOT" )
public class Product {
private SimpleIntegerProperty productId;
private SimpleStringProperty productName;
private Image picture;
private Date addingDate;
// ....
}
public Product() {
this.productId = new SimpleIntegerProperty();
this.productName = new SimpleStringProperty();
}
/* getters and setters */
@Column(name= "picture")
public Image getPicture() {
return this.picture;
}
public void setPicture(Image picture) {
InputStream stream = null;
try {
stream = new FileInputStream(picture.getUrl());
} catch (FileNotFoundException e) { System.out.println(e.getMessage()); }
picture = new Image(stream);
this.picture = picture;
}
解决方案
在我根据他上面@oh-god-spiders 所说的找到问题的解决方案后,我想与你分享
1.不要使用
import javafx.scene.image.Image;
private Image picture;
你必须像这样使用字节类型:
private byte[] picture;
所以
/* getters and setters */
@Column(name= "picture")
public byte[] getPicture() {
return this.picture;
}
public void setPicture(byte[] picture) {
this.picture = picture;
}
请参阅本教程:
2. 如果要将字节更改为图像
byte[] pictureImageInByte = product.getPicture();
ByteArrayInputStream imageDate = new ByteArrayInputStream(pictureImageInByte);
Image image = new Image(imageDate);
在这个问题中查看更多信息:conversion d'un byteArray[] en image
推荐阅读
- wordpress - 我们什么时候应该担心页面速度
- oracle - 为员工分配等级的 PL/SQL 程序
- php - 实现文件上传功能,无法返回使用csrf token提交
- python - 使用 Socket 发回数据时的代码阻塞
- excel - 使用 .rows(y).value = .rows(x).value 复制行时,Excel 内存不足
- python - 从某个字符后面的文本文件中提取缩进数据
- django - 如何从关系模型中获取字段值
- python - 在链接到 python 烧瓶服务器的云存储上保存和检索图像/视频
- gsuite-addons - Gsuite 插件:启用单独安装后,用户是否也可以(单独)删除插件?
- ios - 删除项目后为 CollectionViewCell 设置动画