我们正在尝试使用session.createQuery和executeUpdate通过hibernate重新索引我们的数据库。出于某种原因,这只是不起作用。这一切都是在一个有一个计时器的工作中完成的,这个计时器每周都会在某个时间执行此操作。
session().createQuery("ALTER INDEX indexName ON tableName REBUILD PARTITION = ALL WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, ONLINE = OFF, SORT_IN_TEMPDB = OFF )").executeUpdate();
executeUpdate()是否正确使用?或者这个代码还有其他问题......
答案 0 :(得分:1)
Hibernate 查询语言不支持任意特定于供应商的SQL。
您可以使用Session.createSQLQuery()
execute native queries,但我可能会使用Session.doWork()
和原始JDBC。