У меня был фрагмент jdb c, который я хочу преобразовать, используя собственный запрос в спящем режиме.
Проблема: Это мой jdb c Код:
{
statement = conn.prepareStatement("INSERT INTO CCM_JIGSAW_FILES (FILE_ID,FILE_FOR,FILE_CONTENT)
VALUES (?,?,?)");
ByteArrayInputStream in = new ByteArrayInputStream(fileContent);//fileContent is byte[]
statement.setString(1, file_id);
statement.setString(2, licenseType);
statement.setBinaryStream(3,in,fileContent.length);
statement.executeUpdate();
}
Решение опробовано : Пробовал в спящем режиме, но не мог не повезти
{
String insertSqlQuery = "INSERT INTO CCM_JIGSAW_FILES (FILE_ID,FILE_FOR,FILE_CONTENT) VALUES (?,?,?)";
inputStream = new ByteArrayInputStream(fileContent);
Query insertQuery = entityManager.createNativeQuery(insertSqlQuery);
insertQuery.setParameter(1, fileId);
insertQuery.setParameter(2, licenseType);
insertQuery.setParameter(3, inputStream);// Here i am getting runtime exception.
insertQuery.executeUpdate();
}
org.hibernate.HibernateException: Could not determine a type for
class: java.io.ByteArrayInputStream
Как я могу преобразовать statement.setBinaryStream(3,in,fileContent.length)
в спящий режим? Примечание: тип данных FILE_CONTENT
в базе данных Blob