Hibernate学习27 -- Hibernate查询语言(HQL)1 -- 准备

来源:互联网 发布:淘宝卖家申请花呗条件 编辑:程序博客网 时间:2024/06/15 23:23

它是完全面向对象的查询语句,查询功能非常强大,具备继承、多态、关联等特性 。除了Java类与属性的名称外,查询语句对大小写并不敏感。

下面我们将以班级与学生进行HQL示例,所以我们先建立Student.javaClasses.java以及映射文件,代码如下:

Student.java

public class Student {  

    private int id;  

    private String name;

    private Date createTime;

    private Classes classes;

Classes.java

public class Classes {  

    private int id;  

    private String name;

    private Set students;

Student.hbm.xml

<hibernate-mapping>

    <class name="hibernate.Student" table="t_student">

       <id name="id">

           <generator class="native"/>

       </id>

       <property name="name"/>

       <property name="createTime"/>

       <many-to-one name="classes" column="classesid"/>

    </class>

</hibernate-mapping>

Classes.hbm.xml

<hibernate-mapping package="hibernate">

    <class name="Classes" table="t_classes">

       <id name="id">

           <generator class="native"/>

       </id>

       <property name="name"/>

       <set name="students" inverse="true" cascade="all">

           <key column="classesid"/>

           <one-to-many class="Student"/>

       </set>

    </class>

</hibernate-mapping>