我想从数据库中读取一个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;

意味着您确实在获取字节数组,并且正在尝试将其转换为对象数组。

10-06 05:31
查看更多