在Spring Boot中,
spring.jpa.properties指向
Map<String,String>,因此它只能包含
String值。
但是在Hibernate中,当EntityManagerFactoryBuilderImpl读取时,
hibernate.integrator_provider它期望找到的实例,
IntegratorProvider而不是Class名称,因此是异常。
但是,您可以添加一个实现
HibernatePropertiesCustomizer将
IntegrationProvider实例添加到Hibernate属性的bean
:
@Componentpublic class HibernateConfig implements HibernatePropertiesCustomizer { @Override public void customize(Map<String, Object> hibernateProperties) { hibernateProperties.put("hibernate.integrator_provider", (IntegratorProvider) () -> Collections.singletonList(metadataExtractorIntegrator.INSTANCE)); }}
我已经在此存储库中创建了一个工作示例。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)