我想为Hibernate重写这个SQL查询:
SQL:
javax.servlet.http.Part file;
ps = conn.prepareStatement("INSERT INTO KNOWLEDGEBASE_FILES (ID, KNOWLEDGEBASE_ID, FILE_NAME, FILE) "
+ " VALUES (?, ?, ?, ?)");
ps.setInt(1, obj.number);
ps.setInt(2, obj.number);
ps.setString(3, file.getSubmittedFileName());
InputStream inputStream = file.getInputStream();
ps.setBinaryStream(4, inputStream, inputStream.available());
ps.executeUpdate();
休眠:
try {
session.getTransaction().begin();
Part file = null;
InputStream inputStream = file.getInputStream();
session.createNativeQuery("INSERT INTO KNOWLEDGEBASE_FILES (ID, KNOWLEDGEBASE_ID, FILE_NAME, FILE) VALUES (?, ?, ?, ?)")
.setParameter(1, "test")
.setParameter(2, "test")
.setParameter(3, "test")
.setBinaryStream(4, inputStream, inputStream.available());
.executeUpdate();
session.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
throw new Exception("Error");
}
我收到错误,找不到方法setBinaryStream。你知道重写代码的正确方法是什么吗?
答案 0 :(得分:0)
您可以使用以下任何选项