在项目之外移动hibernate属性配置文件?

时间:2016-05-23 13:39:24

标签: java spring hibernate datasource spring-data-jpa

是否可以在hibernate项目之外移动包含数据库连接详细信息的hibernate配置文件并连接到它?

我当前的配置如下,但我想从项目外移动我的文件,仍然连接到我的data sources。我怎么能这样做?

@Configuration
@EnableTransactionManagement
@PropertySource({"classpath:hibernate.properties"})
@EnableJpaRepositories(basePackages = "com.my.packages", entityManagerFactoryRef = "schemaOneManagerFactory", transactionManagerRef = "schemaOneTransactionManager")
public class SchemaOneDataSourceConfig
{

//configuration methods

}

我是否需要对行进行更改:@PropertySource({"classpath:hibernate.properties"})

2 个答案:

答案 0 :(得分:1)

来自PropertySource

的JavaDocs
  

指示要加载的属性文件的资源位置。例如,“classpath:/com/myco/app.properties”或“file:/ path / to / file”。

您只需将前缀更改为file:

即可
@PropertySource({"file:/path/to/hibernate.properties"})

答案 1 :(得分:0)

如果您使用的是Spring Boot,则可以将属性放在application.properties中,并且可以在JAR中包含该文件,但也可以将其放在config子文件夹中(相对的)到你的运行目录)。

有关详细信息,请参阅http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-application-property-files