当前位置: 首页 > 面试题库 >

如何将属性从外部文件包含到hibernate.cfg.xml?

爱茂勋
2023-03-14
问题内容

我需要能够在其中存储数据库配置属性,src|main|java|dbConnection.properties并以 jstl*
表达式的hibernate.cfg.xml形式包含它。(例如:$ {password}等)。怎么做?
*

当前的hibernate.cfg.xml:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
<property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.username">postgres</property>
        <property name="connection.password">postgres</property>
        <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    </session-factory>
</hibernate-configuration>

我需要这样的东西:

<?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
    <property name="connection.driver_class">${DRIVER}</property>
            <property name="connection.username">${USERNAME}</property>
            <property name="connection.password">${PASSWORD}</property>
            <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
        </session-factory>
    </hibernate-configuration>

问题答案:

您声明使用Spring,然后为什么不让Spring进行所有艰苦的工作。让属性占位符替换所需的占位符。

<context:property-placeholder location="classpath:dbConnection.properties" />

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="hibernateProperties">
       <map>
            <entry key="connection.driver_class" value="${DRIVER}" />
            <entry key="connection.username" value="${USERNAME}" />
            <entry key="connection.password" value="${PASSWORD}" />
            <entry key="transaction.factory_class" value="org.hibernate.transaction.JDBCTransactionFactory" />
        </map>
    <property>
 </bean>

免费提供建议,而不使用内部hibernate连接(不建议在生产中使用),在Spring中配置数据源并将其连接到您的 LocalSessionFactoryBean



 类似资料:
  • 我需要能够将数据库配置属性存储在一个外部文件中,该文件很好地被应用程序jar使用,并以jstl表达式的形式包含它。(如:${password}等)? springconfig.xml文件 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/con

  • 问题内容: 我正在使用LiteIDE for Go。我的Go文件位于此处: 当我使用以下文件添加文件时: 导入“ ../Helper” 我收到此错误: 无法加载软件包:/Users/username/go/src/src/projectA/main.go:4:8:非本地软件包中的本地导入“ ../Helper” 有什么想法我做错了吗? 问题答案: 您通过导入路径导入软件包。对于位于中的packag

  • 如何在Gradle中包含属性文件? 例如,在Ant中,我可以执行以下操作:

  • 问题内容: 我们为我们的一个应用程序提供了一个连接池组件(JAR文件)。截至目前,应用程序连接详细信息捆绑在JAR文件中(在文件中)。 我们可以使其更通用吗?我们可以让客户端告诉属性文件详细信息(路径和文件名),然后使用JAR来获得连接吗? 客户端代码中包含以下内容是否有意义: 与此同时,客户端将指定(以某种方式???)属性文件详细信息,其中包含要连接的URL,超时等。 问题答案: http://

  • 问题内容: 我找不到将外部.js文件包含到Node ejs模板中的方法。我想将逻辑和数据放入外部.js文件中的对象中,将该文件包含到index.ejs模板中并从中提取数据。 我尝试通过插入标准方式尝试 ,但它不起作用 然后,我尝试了ejs特定关键字,这仅适用于添加部分内容(ejs代码段)。 我将.js文件插入了在可执行server.js中定义的静态目录中,再次没有结果。 但有趣的是,例如,将css

  • 问题内容: 我想将一些hibernate配置放在属性文件中,以使其无需构建和部署就可编辑。 我尝试按照不带persistence.xml配置文件的Create JPAEntityManager中的说明解决问题 app.properties: persistence.xml 在初始化代码中,应用程序执行以下序列(查找属性), 但失败并显示错误消息: 有人知道我的配置可能出什么问题吗? 版本:JBos