【问题标题】:Spring and persistence.xmlSpring和persistence.xml
【发布时间】:2013-07-09 00:38:46
【问题描述】:

查看 spring + hibernateJPA 教程时,我注意到persistence.xml 中没有定义实体。那么在我们将spring(3.0.x)添加到混合中的情况下,这个实体检测究竟是如何工作的?

【问题讨论】:

    标签: spring web-applications jpa


    【解决方案1】:

    长话短说,JPA 的 EntityManagerFactory 将扫描您的类路径以查找带有 @Entity 注释的类。 JPQL 查询将根据这些类的元数据(字段)转换为原生 SQL 查询。

    【讨论】:

    • 我认为persistence.xml相当于hibernate.cfg.xml文件。即使您使用注释,您仍然必须定义类。我正在看的教程是这个:github.com/chieukam/gwt-spring-hibernate-tutorial,它似乎没有在任何地方提到要扫描的类(比如在使用休眠核心的情况下)。那么 jpa 正在扫描类路径,而 hibernate 正在查看 .cfg.xml 文件中定义的类?
    • 使用 JPA,您可以选择使用注解或在 XML 中声明实体 bean。我想如果您不指定要扫描的包(不确定您是否可以实际指定),它将扫描您的所有类并查找@Entity。使用 Hibernate + Spring,您还可以让 Spring 进行扫描,因此您不必手动将其输入 hibernate.cfg.xml。见static.springsource.org/spring/docs/3.2.x/javadoc-api/org/…
    猜你喜欢
    • 2010-11-11
    • 2015-03-24
    • 2010-12-22
    • 2011-06-11
    • 2023-03-16
    • 2017-11-20
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    相关资源
    最近更新 更多