0

組織 (親) と部門 (子) の 2 つのテーブルがあります。

1 対多の関係があり、組織表のみに記載されています。

@Entity
@Table(name="TBL_STD_ORGANIZATION")
public class Organization implements Serializable  {
  @Id
  @GeneratedValue
  @Column(name="FLD_ORG_ID")
  private Long organizationId;

  @Column(name="FLD_ORG_NAME")
  private String orgName;

  @OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
  private java.util.List<Department> listOfDepartMents = new java.util.ArrayList<Department>();
}

以下は部門クラスです。

    @Entity
    @Table(name="TBL_STD_DEPARTMENT")
    public class Department implements Serializable { 

    @Id
    @GeneratedValue
    @Column(name = "FLD_DEPARTMENT_ID")
    private Long departmentId;

    @Column(name = "FLD_DEPARTMENT_NAME")
    private String departmentName;
    }

休止状態が3番目のテーブルを作成するため、親テーブルに関係を書きました。ここで、「sa」キーワードで始まり、特定の組織内の部門を取得する必要があります。したがって、HQL または SQL クエリ クエリが必要です。このような複雑なクエリの書き方がわかりません。助言がありますか?

4

1 に答える 1

1

HQL/JPQL は次のようになると確信しています。

SELECT d FROM Organization o JOIN o.listOfDepartMents d WHERE d.departmentName LIKE "sa%"
于 2013-10-10T17:37:23.993 に答える