【问题标题】:how to fetch records from a table through list?如何通过列表从表中获取记录?
【发布时间】:2013-12-11 04:07:27
【问题描述】:

我已按标准列表存储了一张 Studegree 表中的记录。

Criteria criteria= s. createCriteria(StuDegree.class);
criteria.add(Restrictions.eq("col_name","PSYEC"));
List<StuDegree> colname =(List<StuDegree>) criteria.list();

StuDegree 中的列名是 colname,id,degree,dcode,sno。这里 id 与 StuPersonal 表(id​​、姓名、性别、大学)是一对一的常见关系。现在我需要使用 colname list 对 StuPersonal 表中的学生记录进行分组..需要帮助..

【问题讨论】:

标签: java mysql hibernate hibernate-criteria


【解决方案1】:

你可以很容易地通过 hql 做到这一点。

select stup from StuPersonal stup where studegree_id in (Select stud.id from Studegree stud  where col_name='PSYEC')

您可以使用您的命名约定

【讨论】:

  • 上面的 hql 是直接从 StuPersonal 表中检索,但我需要将这个 Stupersonal 表从我创建的列表中映射为 collname,有什么想法吗?
  • mahes 列出了两个表中的所有列,并告诉您如何连接两个表,即它们之间的关系也很清楚您想要什么?。您正在从 Studegree 表和基础创建 colname 列表在此列表中,您想从 StuPersonal 表中检索记录,因此至少在两者之间应该有一些共同点,以便您可以根据该共同点检索记录
  • 谢谢 Deepak,你明白了。FRID 是两个表通用的列。STuPersonal(sno,stu_name,gender,FRID) 和 StuDegree(sno,degree,dtype,regno,col_name)。 FRID 将自动包含在 StuDegree 表中。我在这里使用了onetoone关系。够了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-05
  • 1970-01-01
  • 2014-12-11
  • 1970-01-01
  • 2020-08-22
  • 2014-01-23
  • 2022-10-04
相关资源
最近更新 更多