java如何在hibernate配置文件中添加if-else条件
我在SpringHibernate项目中工作,在那里我连接到多个数据库。这些数据库详细信息加载到属性文件中,并导入到hibernate中。xml文件。每个键映射如下
dbName=dbHost
映射如下:
<bean id="dbId" parent="abstractDataSource">
<property name="url" value="${dbName}" />
</bean>
但是现在我需要包括一个条件,使得属性键映射到多个值,如下所示
例如,dbName=statusFlag、dbHost、dbBackupHostName
我需要修改hibernate配置文件,以便使用keyName检索并用逗号分隔相应的值。 然后我需要检查statusFlag。如果为true,则应将dbValue设置为“dbHost”,否则如果该标志为false,则应将其设置为“dbBackupHostName”
请帮助我如何在hibernate配置文件中实现此条件检查
另外,请让我知道这种方法是否可以继续,或者我是否使其难以实施? 等待一些有价值的答案
苏丽娅
# 1 楼答案
要在spring的bean连接和创建中使用复杂逻辑,可以使用Java Configuration
它应该适用于Spring 3。下面是示例伪代码
使用PropertyPlaceholderConfigurer加载属性,因为@PropertySource在3.0.5中不可用
如果您可以将spring版本更改为3.1,这应该不会有太大区别,那么您可以将@Profile与@PropertySource一起使用。 如果逻辑不太复杂,您可以分离一组必须同时处于活动状态的属性。(本地数据库、开发数据库、产品数据库、自定义等)然后您可以尝试使用@Profile
@Profile注释bean仅在该概要文件处于活动状态时创建。可通过设置spring.profiles.active激活配置文件
因此,要激活Dev概要文件,我们可以在属性文件中设置
下面是示例伪代码