本文向大家介绍Hibernate命名查询,可能好多人还不了解Hibernate命名查询,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
Hibernate是一套开源的用于对象/关系持久化和查询服务的Java库。现在Hibernate的***版本是3.1.在这个版本中引入了一个新的特性:XML到数据库映射(也可以看做是XML和数据库的同步)。这个功能允许程序员将基于XML文档的数据映射成数据库(在当前版本的Hibernate中支持DB2、MySQL、Oracle和 PostgreSQL)。通过使用Hibernate,可以将XML文档的节点(Node)映射成数据库的列。每一个XML文件直接被映射成一个数据库表,在这个过程中并不要求一个POJO.Hibernate可以根据需要生成相应的SQL(包括create、update、delete、insert 等)。
我们还可以通过Hibernate的配置文件生成新表,并将XML数据添加到数据库中。还能以XML格式得到数据库表中的数据,并通过XML的方式增加或更新数据。同时,Hibernate3.1还支持dom4j API,并且支持Ant.在本文中将学习如何使用Hibernate3.1开发一个基于XML映射的应用程序。
Hibernate***秀的功能之一就在于它能够在您的映射文件中声明Hibernate命名查询。随后即可通过代码中的名称调用此类查询,这使您可以专注于查询,而避免了 SQL 或者 HQL 代码分散于整个应用程序中的情况。
也可以使用注释来实现Hibernate命名查询,可以使用 @NamedQueries 和 @NamedQuery 注释,如下所示:
- @NamedQueries{
- {
- @NamedQuery(name="planeType.findById",
query="select p from PlaneType p left join fetch p.modelPlanes where id=:id"),
@NamedQuery(name="planeType.findAll",query="select p from PlaneType p" ),
@NamedQuery(name="planeType.delete",query="delete from PlaneType where id=:id" )- }
- }
一旦完成了定义,您就可以像调用其他任何其他Hibernate命名查询一样来调用它们。
【编辑推荐】