我有以下的hibernate4創建的數據庫的結構:填充下拉列表,在JSP
署(有田:DEPARTMENT_ID和DEPARTMENT_NAME),我通過DEPARTMENT_INSTITUTE連接(有DEPARTMENT_ID和INSTITUTE_ID)與學院學報(有INSTITUTE_ID和INSTITUTE_NAME),後來通過INSTITUTE_TEACHER(再次通過Id)與TEACHER(TEACHER_ID,NAME,SURNAME,TITLE)連接。
這一切都有一對多的關係,所以一個部門可以有很多研究所,一個研究所可以有很多的教師。
我想基本上把它全部放到一個對象中,並通過JSTL把它放到一個下拉菜單中(下拉列表不需要有幾個級別,它可以都在同一級別上)。問題是,我不知道:
- 如何查詢所有這些數據,並把它們放到一個列表,
使用JSTL在JSP把他們在下拉菜單中。
有誰能告訴我我該怎麼做?我很想理解這一點。這裏是方法查詢爲「一切」的骨架:我做了一個方法,從數據庫中查詢,如果任何人都可以看看,如果它是很好的解決方案或不
[編輯]所以在這裏,我將不勝感激
public List<String> enlistEverything(){
Session session = sessionFactory.openSession();
Transaction tx = null;
List<String> toView = new ArrayList<String>();
try{
tx = session.beginTransaction();
HashSet<Department> departments = (HashSet<Department>)session.createQuery("FROM Department").list();
HashSet<Institute> institutes = new HashSet<Institute>();
HashSet<Teacher> teachers = new HashSet<Teacher>();
for(Department d : departments){
toView.add(d.getDepartmentName());
institutes.addAll(d.getInstitutes());
}
for(Institute i : institutes){
toView.add(i.getInstituteName());
teachers.addAll(i.getTeachers());
}
for(Teacher t : teachers){
toView.add(t.getTeacherTitle() + t.getTeacherName() + t.getTeacherSurname());
}
}catch(HibernateException e){
if (tx!=null) tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return toView;
}
我做數據模型使用這個特殊的教程:http://www.dzone.com/tutorials/java/hibernate/hibernate-example/hibernate-mapping-one-to-many-1.html所以基本上系類中有一個與機構一個HashSet和學院有教師HashSet的。 預先感謝您的回答。
你使用普通的jsp/servlet的或者你的發展框架? –
這很簡單,我剛開始學習它。 –