dans mon applicationContext.xml, voici comment je mappe XML à Pojo. Comment mapper le répertoire vers le fichier de classe sans être nécessaire pour créer XML?
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>com/custompackage/custom/spi/hibernate3/HibernateCurrentStep.hbm.xml</value>
<value>com/custompackage/custom/spi/hibernate3/HibernateHistoryStep.hbm.xml</value>
<value>com/custompackage/custom/spi/hibernate3/HibernatecustomEntry.hbm.xml</value>
<value>user/custom/hibernate3/PropertySetItemImpl.hbm.xml</value>
<value>com/custompackage/user/provider/hibernate3/user/impl/HibernateGroupImpl.hbm.xml</value>
<value>com/custompackage/user/provider/hibernate3/user/impl/HibernateUserImpl.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
.....
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
4 Réponses :
au lieu d'utiliser des fichiers de mappage XML, vous pouvez utiliser le Annotations Hibernate bibliothèque basée sur Java 5 annotations.
Comme d'habitude, vous devez déclarer vos classes de persistance dans le fichier de configuration Hibernate (typiquement p> Si vous utilisez la structure de ressort, vous pouvez configurer une usine de session hibernate basée sur Annotation à l'aide de la hibernate.cfg.xml code>), bien que vous utilisiez le AnnotationSetSetoryBean Code> Classe, comme indiqué ici: P> <!-- Hibernate session factory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
...
</props>
</property>
<property name="annotatedClasses">
<list>
<value>com.mycompany.sample.domain.Order</value>
<value>com.mycompany.sample.domain.LineItem</value>
...
</list>
</property>
</bean>
Votre déclaration de haricots doit être placée dans le contexte de Disternerservlet? Ou dans un autre fichier de configuration-cadre de printemps? Et aussi quand j'ai déclaré mes cours de persistance dans hibernate.cfg.xml) Devrais-je également créer une usine de session hibernate basée sur Annotation à la sécurité du printemps?
Vous pouvez utiliser des annotations sur votre classe, cependant pour Hibernate, je ne suis pas sûr qu'il y ait quelque chose d'introduit (à utiliser au printemps). Ce fil devrait aider si vous voulez éviter toute technologie, mais vous pouviez Utilisez également des annotations de la persistance Java (JPA) de concert avec Hibernate pour accomplir le même objectif. P>
Voici un bon tutoriel pour Utilisation de JPA + Hibernate + Spring. P>
@pascal thivent donne un très bon début à ce que vous voulez faire. Pour chaque classe d'entité, vous devrez les annoter. Ceci est le docs qui expalin the Annotations dans Hibernate .
E.g. De la DOCS: P>
@Entity
public class Flight implements Serializable {
Long id;
@Id
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
}
et vous pouvez également simplifier les choses en convertissant à p> dans votre AnnotationSetoryBean code> alors maintenant maintenant Toutes les classes annotées avec @entity code> dans le package com.mycompany.sample.domain code> seront automatiquement ramassés. p> p>
Que devrais-je convertir la cartographie des cours dans mon annotationsessorybean?
@Jiayizhou pouvez-vous élaborer, je ne reçois pas tout à fait ce que vous demandez.
Si dans l'une de mes entité, j'ajoute une propriété que l'onetoone mappage vers une autre entité. Que dois-je ajouter dans la configuration XML-cadre de printemps pour le faire fonctionner? Vous pouvez vérifier les détails de ma question ici: Stackoverflow.com/questions/40956208/...