Как написать запрос критериев гибернации, который включает сравнение количества строк

Мне нужны некоторые предложения относительно того, как написать запрос критериев гибернации для приведенного ниже SQL-запроса, как указано ниже.

SELECT eout.EMPLOYEE_ID,eout.FIRST_NAME,COUNT(oout.ORDER_ID)
FROM EMPLOYEES eout
        JOIN
    ORDERS oout
        ON eout.EMPLOYEE_ID = oout.EMPLOYEE_ID
    GROUP BY EMPLOYEES.EMPLOYEE_ID
        HAVING COUNT(ORDERS.ORDER_ID)>5;

Классы сущностей для сотрудников и заказов приведены ниже.

@Entity
@Table(name="orders")
public class Orders {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="order_id")
    int orderId;

    @OneToOne(cascade={CascadeType.ALL})
    @JoinColumn(name="customer_id")
    Customers customers;

    @OneToOne(cascade={CascadeType.ALL})
    @JoinColumn(name="employee_id")
    Employees employees;

    @Column(name="order_date")
    Date orderDate;

    @Column(name="required_date")
    Date requiredDate;

    @Column(name="shipped_date")
    Date shippedDate;

    @OneToOne(cascade={CascadeType.ALL})
    @JoinColumn(name="ship_via")
    Shippers shippers;

    @Column(name="freight")
    float freight;

    @Column(name="ship_name")
    String shipName;

    @Column(name="ship_address")
    String shipAddress;

    @Column(name="ship_city")
    String shipCity;

    @Column(name="ship_region")
    String shipRegion;

    @Column(name="postal_code")
    String postalCode;

    @Column(name="ship_country")
    String shipCountry;


  //getters and setters;
}

Сущность работника.

@Entity
@Table(name="employees")
public class Employees {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="employee_id")
    int employeeId;

    @Column(name="last_name")
    String lastName;

    @Column(name="first_name")
    String firstName;

    @Column(name="title")
    String title;

    @Column(name="titleOfCourtsey")
    String titleOfCourtsey;

    @Column(name="birthDate")
    Date birthDate;

    @Column(name="hireDate")
    Date hireDate;

    @Column(name="address")
    String address;

    @Column(name="city")
    String city;

    @Column(name="region")
    String region;

    @Column(name="postalcode")
    String postalCode;

    @Column(name="country")
    String country;

    @Column(name="home_phone")
    int homePhone;

    @Column(name="extension")
    String extension;

    @Column(name="notes")
    String notes;

     @ManyToOne
     @JoinColumn(name="reports_to")
     Employees employees;


    //getters and setters
}

Как написать запрос Hibernate Criteria для SQL-запроса, написанного вверху.


person Puneeth GL    schedule 05.12.2014    source источник
comment
На какой части запроса вы застряли?   -  person mabi    schedule 05.12.2014
comment
СГРУППИРОВАТЬ ПО СОТРУДНИКАМ.EMPLOYEE_ID, ИМЕЮЩИМ COUNT(ORDERS.ORDER_ID)›5;   -  person Puneeth GL    schedule 05.12.2014
comment
Посмотрите на этот вопрос. Это может помочь вам. stackoverflow .com/questions/12258272/   -  person NVG    schedule 05.12.2014