没有xml的spring + hibernate映射类

在我的applicationContext.xml中,这是我将xml映射到POJO的方式。 如何将目录映射到类文件而无需创建xml?

   com/custompackage/custom/spi/hibernate3/HibernateCurrentStep.hbm.xml com/custompackage/custom/spi/hibernate3/HibernateHistoryStep.hbm.xml com/custompackage/custom/spi/hibernate3/HibernatecustomEntry.hbm.xml user/custom/hibernate3/PropertySetItemImpl.hbm.xml com/custompackage/user/provider/hibernate3/user/impl/HibernateGroupImpl.hbm.xml com/custompackage/user/provider/hibernate3/user/impl/HibernateUserImpl.hbm.xml    .....      

您可以通过转换进一步简化事情

   com.mycompany.sample.domain.Order com.mycompany.sample.domain.LineItem ...   

  

AnnotationSessionFactoryBean ,现在将自动拾取com.mycompany.sample.domain包中使用@Entity注释的所有类。

您可以使用基于Java 5注释的Hibernate Annotations库,而不是使用XML映射文件。

像往常一样,您需要在Hibernate配置文件(通常是hibernate.cfg.xml )中声明持久性类,尽管您使用元素来声明持久化类:

        

如果您使用的是Spring框架,则可以使用AnnotationSessionFactoryBean类设置基于注释的Hibernate会话工厂,如下所示:

         org.hibernate.dialect.DerbyDialect create ...     com.mycompany.sample.domain.Order com.mycompany.sample.domain.LineItem ...    

你可以在你的类上使用注释,但对于Hibernate,我不确定是否有内置的东西(在Spring中使用)。 如果您想要避免使用更多技术, 这个线程应该会有所帮助,但您也可以使用Java Persistence Annotations(JPA)与Hibernate协同工作来实现相同的目标。

这是一个使用JPA + Hibernate + Spring的好教程。

@Pascal Thivent为你想做的事提供了一个很好的开端。 对于每个Entity类,您需要对它们进行注释。 这是在Hibernate中填充注释的文档。

例如,来自文档:

  @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } } 

所以除了@Pascal Thivent所提到的,你应该得到你需要的一切。