Wie übersetzen Sie Hibernate-Klasse Zuordnungen zu einem Spring application context?
Wie konfigurieren Sie die Ruhezustand Klasse Zuordnungen von Klasse org.springframework.orm.hibernate3.LocalSessionFactoryBean in der Frühling Anwendungskontext? Ich möchte bewegen Sie den session factory Klasse Zuordnungen zwischen den folgenden hibernate.cfg.xml
der entsprechenden Spring session factory-bean, so dass ich kann zu beseitigen hibernate.cfg.xml
.
Datei hibernate.cfg.xml
:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- ... -->
<mapping resource="Queries.hbm.xml" />
<mapping class="com.company.app.common.model.Account" />
<mapping class="com.company.app.common.model.AccountCategory" />
<mapping class="com.company.app.common.model.AssetType" />
<mapping class="com.company.app.common.model.Book" />
<mapping class="com.company.app.model.AssetTypeCategory" />
<!-- ... -->
</session-factory>
</hibernate-configuration>
Datei spring-application-context.xml
:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configurationClass">
<value>org.hibernate.cfg.AnnotationConfiguration</value>
</property>
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
<!-- Instead of the above, I want to use the following. Where and
how do I define the class mappings so that I may eliminate
hibernate.cfg.xml? -->
<--
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>Queries.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="dialect">org.hibernate.dialect.Oracle10gDialect</prop>
</props>
</property>
-->
</bean>
Ich will zu beseitigen, die
Sind diese annotierten entity-Klassen?
Ja, dies sind die annotierten Klassen.
hibernate.cfg.xml
Datei, indem deren Inhalt in den Spring application context.Sind diese annotierten entity-Klassen?
Ja, dies sind die annotierten Klassen.
InformationsquelleAutor Derek Mahar | 2011-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit den JPA-annotierten Klassen, die Sie verwenden können
AnnotationSessionFactoryBean
stattLocalSessionFactoryBean
, und injizieren Sie die Klassen direkt in der Spring-bean:Queries.hbm.xml
enthält einige HQL-Abfragen?erstreckt sich
LocalSessionFactoryBean
, so können Sie immer noch alle die gleichen Eigenschaften wie vorher, einschließlichmappingResources
.Ausgezeichnet! Nette Antwort!
InformationsquelleAutor skaffman
Als eine leichte variation auf skaffman ist Antwort, ich benutzte Eigenschaft
packagesToScan
der KlasseAnnotationSessionFactoryBean
zu vermeiden alle von den einzelnen Modell-Klasse-Namen:Habe ich gelernt über diese Immobilie aus dem hervorragenden Buch Spring in Action, Third Edition.
InformationsquelleAutor Derek Mahar
War ich auch vor dem gleichen Problem, und das war für mich -
InformationsquelleAutor Sachchidanand Singh