【问题标题】:Spring 2.5 Hibernate 3.5 NamedQuerySpring 2.5 休眠 3.5 命名查询
【发布时间】:2010-04-18 11:11:13
【问题描述】:

我不使用 HibernateTemplate,但在我的 DAO 中使用 getCurrentSession()。

我想知道如何在 beans.xml 文件中声明 Hibernate 命名查询(我不使用 hbm.xml)。

也许 Spring 有其他方法来声明 Hibernate 命名查询?

【问题讨论】:

    标签: java hibernate spring named-query


    【解决方案1】:

    您可以使用注释对实体进行命名查询:

    @NamedQueries({@NamedQuery(name="Entity.findAll", query="....")})
    

    另外,如果使用 JPA,还有 orm.xmlXSD 告诉我们你可以使用:

    <named-query name="Entity.findAll">
       <query><![CDATA[SELECT e FROM Entity e]]</query>
    </named-query>
    

    【讨论】:

    • @Bozho 好吧,我不像我说的那样使用 orm.xml。您可以将所有休眠设置,包括将类直接映射到 spring beans.xml 文件。所以我想知道如何在那里放置一个命名查询。但是@NamesQueries注解看起来更好,你把它放在哪里?直接进入 DAO 代码?
    • 放到实体类上。你说你不使用hbm.xml,而不是orm.xml。我以某种方式假设您使用的是 JPA xml 文件(因为 beans.xml 不是 spring 中的默认名称)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多