我想从数据库中读取一个pdf
,它存储为BLOB
,我想获取List<bytes[]>
session.beginTransaction();
final Criteria criteria = session.createCriteria(MyClass.class);
criteria.add(Restrictions.eq("id",id));
final ProjectionList projectionList = Projections.projectionList().add(
Projections.property("bdoc"));
criteria.setProjection(projectionList);
List<Object[]> list = criteria.list();
List<byte[]> listBytes = new ArrayList<byte[]>();
for (Object[] item : list) {
listBytes.add((byte[]) item[0]);
}
session.getTransaction().commit();
但我在这行
for (Object[] item : list) {
中收到错误[错误] [B无法强制转换为[Ljava.lang.Object;
我已经调试,并且确实从数据库中读取数据:我的
List<Object[]> list = criteria.list()
不为空。但是我不能从
List<Object[]>
转换为List<bytes[]>
。我究竟做错了什么?请帮助我解决我的问题。 最佳答案
B不能强制转换为[Ljava.lang.Object;
意味着您确实在获取字节数组,并且正在尝试将其转换为对象数组。