Java Oracle使用Spring数据存储库重建ALTER INDEX

Java Oracle使用Spring数据存储库重建ALTER INDEX,java,spring,oracle,Java,Spring,Oracle,是否可以使用nativeQuery从Spring数据存储库重建oracle索引 尝试: @存储库 公共接口PageDao扩展了Crudepository{ @查询(value=“alterindex\u native\u INDEX\u name REBUILD”,nativeQuery=true) 字符串updateOracleTextIndex(); } 错误: 原因:java.sql.SQLException:ORA-01003:未解析语句为什么要从存储库中执行此操作?这听起来不像是任

是否可以使用nativeQuery从Spring数据存储库重建oracle索引

尝试:

@存储库
公共接口PageDao扩展了Crudepository{
@查询(value=“alterindex\u native\u INDEX\u name REBUILD”,nativeQuery=true)
字符串updateOracleTextIndex();
}
错误:


原因:java.sql.SQLException:ORA-01003:未解析语句

为什么要从存储库中执行此操作?这听起来不像是任何频率下你都应该做的事情。您不相信Oracle能够正确地索引吗?在这个用例中,我们从文件系统进行了不规则的导入,并有许多提交。在整个导入之后,应该重建索引。仅供参考,这是oracle文本索引。导入什么?如果不关闭表约束或索引,则不需要重新编制索引。如果是,那么您的设置要复杂得多,您应该(1)手动处理,而不是通过Spring数据;(2)非常小心地避免在不一致的情况下进行实时访问。从xml文件导入。每次导入数据后,都应手动重建索引。如果能用调用存储库方法来实现,那就太好了,但是。。。
@Repository
public interface PageDao extends CrudRepository<Page, String> {

    @Query(value = "ALTER INDEX the_native_index_name REBUILD", nativeQuery = true)
    String updateOracleTextIndex();

}