java - 使用 Hibernate 标准的嵌套集合

标签 java hibernate

我有 2 个表 Tab1Tab2

Tab1”到“Tab2”的映射是一对多

代码是这样的:

private Collection< Tab2 > obj = new ArrayList< Tab2 >();

@javax.persistence.OneToMany(fetch=javax.persistence.FetchType.LAZY,
                                                     mappedBy = "Tab1")

public Collection< Tab2 > getTab2() 
{ 
  return Tab2;
}

public void setTab2( Collection<Tab2 > val ) 
{ 
 this.Tab2 = val;
}

我想从两个表中获取记录。

例如:
Tab1 具有列:
Stu_Id、Stu_FirstName、Stu_LastName

Tab2 有列:
Stu_Id(外键),Stu_Subject, Stu_Teacher

现在我想从 Tab1 获取 Stu_id 并从 Tab2 获取 Stu_SubjectStu_Teacher

最佳答案

您有不同的可能性来解决您的问题。您可以调用命名查询,也可以使用 CriteriaBuilder 构建类型化查询。

已经有很多其他问题涉及 OneToManyNamedQueryCriteriaBuilder 的关系。现在取决于您的喜好。我个人更喜欢 CriteriaBuilder,因为您可以使用 JPA-Metamodel 及其提供的重构便利性。 (尽管我将自己的包装器编写到了 CriteriaBuilder 中以获得更好的 SQL 外观和感觉;-))

NamedQuery 示例: Construct JPA query for a OneToMany relation

TypedQuery 示例: JPA CriteriaQuery OneToMany

关于java - 使用 Hibernate 标准的嵌套集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41761428/

相关文章:

java - 从 .apk 读取文件

java - Hibernate 使用 2 个外键指向同一对象,导致序列化问题

database - 我是否需要创建一个我想用 H2 预填充的表?

java - 缓冲读取器和文件读取器以及扫描器类之间的区别

c# - 通过TCP套接字将图像从C#服务器发送到Java客户端

java - 如何通过 hibernate 将空字符串传递给日期类型的列

java - 未找到 hibernate.properties

spring - 在 PostgreSQL 中使用 Hibernate 上传图像

java - 如何防止 JCheckBoxMenuItem 单击后关闭?

java - if 语句逻辑不起作用