1

好吧,我需要与这个问题几乎相同的东西How do you translate Hibernate class mappings to a Spring application context?

但我不应该使用注释,我需要保存 xml 映射,那么我应该如何在 spring config 中指定映射?

PS抱歉可能重复,但我只看到基于注释的建议

我当前带有注释的配置:hibernate.cfg.xml

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521/XE</property>
        <property name="hibernate.connection.username">username</property>
        <property name="hibernate.connection.password">pass</property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>

        <property name="show_sql">true</property>
        <mapping class="com.foo.domain.News"></mapping>
    </session-factory>
</hibernate-configuration>

applicationContext.xml sessionFactory bean:

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation">
            <value>/WEB-INF/hibernate.cfg.xml</value>
        </property>

        <property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration</value>
        </property>


        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.dialect">${DIALECT}</prop>
                <prop key="hibernate.connection.charSet">UTF-8</prop>

            </props>
        </property>
    </bean>
4

2 回答 2

2

休眠文档非常好。

这里有一些简单的例子可以开始: Hibernate 文档

您必须创建映射 xml,如:

Person.hbm.xml  (which maps Person.java)

<class name="Person" table="PERSON">
    <id name="id" column="PERSON_ID">
        <generator class="native"/>
    </id>
    <property name="age"/>
    <property name="firstname"/>
    <property name="lastname"/>
</class>

然后将此文件添加到您的休眠配置

<mapping resource="Person.hbm.xml"/>
于 2013-11-15T11:25:29.190 回答
1

设置mappingLocations你的属性LocalSessionFactoryBean

<property name="mappingLocations">
    <list>
        <value>classpath:/path/to/mapping.hbm.xml</value>
        ...
    </list>
</property>
于 2013-11-15T11:28:06.863 回答