【问题标题】:Spring Boot, Hibernate Search propertiesSpring Boot,Hibernate 搜索属性
【发布时间】:2014-10-17 22:14:37
【问题描述】:

使用Spring Boot时如何提供Hibernate Search参数?

...
spring.datasource.driverClassName=org.postgresql.Driver

hibernate.search.jmx_enabled=true
hibernate.search.default.directory_provider=filesystem
hibernate.search.generate_statistics=true
hibernate.search.lucene_version=LUCENE_CURRENT
hibernate.search.default.indexBase=/mypath-to-index

它不在乎我提供什么。始终应用默认设置。

我认为下面的代码没有任何东西可以处理与 Hibernate Search 相关的属性。会不会是这个问题?

https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaProperties.java

【问题讨论】:

  • 这些属性在哪里?
  • 在应用程序属性文件中,位于 src/main/resources。其他 jpa 和数据源设置评估良好。
  • 谢谢@chrylis。我得到了它的工作。

标签: spring spring-boot hibernate-search


【解决方案1】:

如果您输入“spring.jpa.properties”,您可以将它们放入 application.properties 文件中。在属性名称前面。

例子:

spring.jpa.properties.hibernate.search.jmx_enabled=true
spring.jpa.properties.hibernate.search.default.directory_provider=filesystem
spring.jpa.properties.hibernate.search.generate_statistics=true
spring.jpa.properties.hibernate.search.lucene_version=LUCENE_CURRENT
spring.jpa.properties.hibernate.search.default.indexBase=/mypath-to-index

一旦创建了 EntityManagerFactory,Spring 将获取 spring.jpa.properties.* 下的任何属性并传递它们(去掉前缀)。

【讨论】:

  • 太棒了!这是最干净的解决方案,它更像是 Spring Data JPA (see here)。
【解决方案2】:

搞定了。

将另一个名为“hibernate.properties”的属性文件放在 src/main/resources 中,内容如下。

hibernate.search.jmx_enabled=true
hibernate.search.default.directory_provider=filesystem
hibernate.search.generate_statistics=true
hibernate.search.lucene_version=LUCENE_CURRENT
hibernate.search.default.indexBase=/mypath-to-index

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2014-11-04
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    相关资源
    最近更新 更多