【发布时间】:2015-07-11 15:49:37
【问题描述】:
虽然我知道如何在 SQL 编辑器中执行此操作,但我有三个需要执行内部连接的表,但我不确定它如何与 Hibernate 一起使用。
为了充分解释,我有一个:
- 技能(所有问题所在的位置)
- 章节(章节标题,例如第 1 部分。第 2 部分)
- 技能组(充当主题、运动技能、语言等)
我有单独的 DAO,每个 DAO 都有这样的代码 这是我的技能道:
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import softdev.asese.models.SkillModel;
import softdev.asese.utils.HibernateUtil;
public class SkillDao
{
public List<SkillModel> getSkill() {
List<SkillModel> list = new ArrayList<SkillModel>();
Session session = HibernateUtil.openSession();
Transaction tx = null;
try {
tx = session.getTransaction();
tx.begin();
list = session.createQuery("from SkillModel").list();
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
return list;
}
}
我的段道和技能道与此相同,当然查询和命名不同。它们都是相互连接和引用的。 Skillset 与 Section 相连,而 Section 与 Skill 相连。 我也有与技能相关的评估。这将是试卷。我需要的是按照这个道正确并按顺序显示每个标题、部分和问题。到目前为止,我还没有成功,只能通过技能加载所有问题(不带分节和标题)
<% SkillDao sDao = new SkillDao();
List<SkillModel> skList = sDao.getSkill();
%>
<tbody>
<% for(SkillModel s : skList) { %>
<tr>
<td><%= s.getSkillName() %><br><br>
<input type="radio" name="ans" value="Independent">Independent<br>
<input type="radio" name="ans" value="Emerging">Emerging<br>
<input type="radio" name="ans" value="No response">No Response<br><br><br></td>
</tr>
<% } %>
【问题讨论】:
标签: hibernate jsp hql inner-join dao