HQL Hibernate INNER JOIN

Comment puis-je écrire cette requête SQL en veille prolongée? Je voudrais utiliser Hibernate pour créer des requêtes, de ne pas créer la base de données.

SELECT * FROM Employee e INNER JOIN Team t ON e.Id_team=t.Id_team

J'ai créé des classes d'entité dans SQLServer2008,

@Entity
@Table(name="EMPLOYEE")
public class Employee
{
    @Id @GeneratedValue
    @Column(name="ID_EMPLOYEE")
    private int id_employee;
    @Column(name="SURNAME")
    private String surname;
    @Column(name="FIRSTNAME")
    private String firstname;
    @Column(name="ID_PROFESSION")
    private int id_profession;
    @Column(name="ID_BOSS")
    private int id_boss;
    @Column(name="HIRED_DATE")
    private Date hired;
    @Column(name="SALARY")
    private double salary;
    @Column(name="SALARY_ADD")
    private double salary_add;
    @Column(name="ID_TEAM")
    private int id_team;
    //setters and getters
}

@Entity
@Table(name="TEAM")
public class Team
{
    @Id @GeneratedValue
    @Column(name="ID_TEAM")
    private int id_team;
    @Column(name="TEAMNAME")
    private String teamname;
    @Column(name="ADDRESS")
    private String address;
    //setters and getters
}

J'ai essayé de construire de travail requête select dans de nombreuses façons, mais cela ne fonctionne toujours pas.

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();                 
session.beginTransaction();
String select = "FROM Employee e INNER JOIN Team t ON e.Id_team=t.Id_team";
Query query = session.createQuery(select);
List elist = query.list();
session.getTransaction().commit();
session.close();    

Peut-être que quelque chose est incorrect avec les entités?

  • Quelle est l'erreur?
  • par la façon dont vous avez ajouté.t.Id à la fin de la requête, mais dans votre équipe entité, il est id_team. Pourriez-vous changer de t.id_team
  • vous créer incorrectement enity classes. Je pense que vous avez besoin de réécrire et de l'utilisation de ces constructions comme plusieurs-à-plusieurs, un pour un, ou quelque chose comme ça
InformationsquelleAutor szefu | 2013-08-22