資料庫table: Students:

Students 資料庫欄位:

STUDENTSID

NAME

COURSE_ID

 

Students.hbm.xml  

<hibernate-mapping>
<class name="hibernate.test.model.Students" table="students" >
    <id name="studentsid" type="java.lang.Integer">
       <column name="studentsid" />
       <generator class="native" />
    </id>
    <property name="name" type="java.lang.String">
        <column name="name" length="50" not-null="true" />
      </property>
    <many-to-one name="courseId" column="course_id" />
</class>
</hibernate-mapping>

 

Students.java

public class Students implements Serializable {
private static final long serialVersionUID = 1L;
 
// Fields
 
private Integer studentsid;
private String name;
private Courses courseId;
 
// get set
 
}
 
 
main:
 

String SqlStr="select studentsid, courseId from Students ";
List<Object> studentslist = session.createQuery(SqlStr).list();

 
由上面可得知:
xml內property的name 是對應model內的名稱,然後column的name是對應資料庫內的欄位
 
而我們在在下HQL的時候則需要以property內的欄位名稱為HQL命名
EX:
select studentsidcourseId from Students
 
 
 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 JoshS 的頭像
    JoshS

    JoshS的部落格

    JoshS 發表在 痞客邦 留言(0) 人氣()