如何在hibernate全文搜索中动态设置索引基目录

时间:2018-01-30 21:18:41

标签: java spring hibernate hibernate-search

我正在尝试在我的项目中实现Hibernate全文搜索,并在登录用户选择他/她想要使用的数据库期间。表示使用动态数据源路由。索引基目录路径位于hibernate.properties文件中,对于不同的数据库它将有所不同。

所以现在我想在运行时根据用户选择数据库来改变它。当我们在spring中创建会话bean时,代码正在读取Hibernate属性。我在互联网上搜索了很多,并想知道在运行时覆盖hibernate.properties文件。但我有些疑惑:

  • 如何为会话工厂覆盖它,而不是为JPA

  • 覆盖它
  • 我认为在覆盖属性后我不需要重新初始化会话工厂。它将在覆盖时自动读取新目录。

1 个答案:

答案 0 :(得分:0)

Hibernate Search将读取所有这些地方的属性:

  • JPA persistence.xml文件
  • 其他JPA配置(例如程序化)
  • Hibernate ORM hibernate.properties文件
  • 适用于SessionFactory
  • 的任何其他Hibernate ORM属性
  • Java系统属性
  • 环境变量

简而言之:不要将索引库设置为固定配置属性,而是以您设置其他Hibernate ORM属性的任何方式动态设置它。