oracle.sql.BFILE не может быть преобразован в oracle.sql.BFILE

Прочитав один и еще раз документацию Oracle и не зная, почему у меня возникло это исключение.

Вызвано: java.lang.ClassCastException: oracle.sql.BFILE невозможно привести к oracle.sql.BFILE.

      @Inject
@OracleProduction
private EntityManager em;

public String readBfileImage() {
    Session hibernateSession = em.unwrap(Session.class);
    SessionImplementor sessionImplementor = hibernateSession.unwrap(SessionImplementor.class);
    Connection connection = sessionImplementor.connection();

    Statement stmt = null;
    BFILE my_bfile = null;
    String result = "";
    try {
        stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT BFILE_COLUMN FROM TABLE_NAME where PARAM = 1");
        while (rs.next()) {
            BFILE objImagen = (BFILE) rs.getObject(1); // HERE THE EXCEPTION, WHY?

            System.out.println(objImagen.getName());
        }
        String ruta = my_bfile.getName();
        result = Base64.getEncoder().encodeToString(my_bfile.getBytes());
    } catch (SQLException e) {
        //throwing the exception
    }
    return result;
}

Кроме того, мне нужно найти способ сохранить изображение внутри этого file_column, но вряд ли я смогу прочитать его таким образом, хотелось бы прочитать ответы!

В дополнение к этому я хочу поделиться следующим изображением, чтобы отметить, что тип оператора или resultSet — это WrapperResultSetJDK8 , и что это значит?

1 ответ

Можете ли вы попробовать заменить oracle.jdbc.OracleBlob на java.sql.Blob?

Другие вопросы по тегам