如何在hibernate中加入两个表

时间:2018-04-18 18:59:14

标签: java hibernate

如何加入表格UtenteMessaggio? id_utente是utenti的PK,而id_mittente是messaggi的FK,一旦我加入了两个表,我想要utenti.username等于字符串用户名的所有行。

Entity Utente
@Entity
@Table(name="utenti")
public class Utente {
@Id @GeneratedValue
private int id_utente;
private String username;
private String nome;
private String cognome;
private String email;
private String password;
private int gruppo1;
private int gruppo2;
private int gruppo3;
private int gruppo4;
private int gruppo5;

public Utente() {
}

public Utente(String username, String nome, String cognome, String email, 
String password, int gruppo1, int gruppo2, int gruppo3, int gruppo4, int 
gruppo5) {
    this.id_utente = id_utente;
    this.username = username;
    this.nome = nome;
    this.cognome = cognome;
    this.email = email;
    this.password = password;
    this.gruppo1 = gruppo1;
    this.gruppo2 = gruppo2;
    this.gruppo3 = gruppo3;
    this.gruppo4 = gruppo4;
    this.gruppo5 = gruppo5;
}

}

实体Messaggio

@Entity
@Table(name="messaggi")
public class Messaggio {
@Id @GeneratedValue
private int id_mess;
private String tipo_mess;
private String body;
private Timestamp timestamp;
private String tipo_destinatario;
private int id_destinatario;
private int id_mittente;

public Messaggio() {
}

public Messaggio(int id_mess, String tipo_mess, String body, Timestamp 
timestamp, String tipo_destinatario, int id_destinatario, int id_mittente) {
    this.id_mess = id_mess;
    this.tipo_mess = tipo_mess;
    this.body = body;
    this.timestamp = timestamp;
    this.tipo_destinatario = tipo_destinatario;
    this.id_destinatario = id_destinatario;
    this.id_mittente = id_mittente;
}
}

如何在HQL中编写此SQL查询:

"SELECT * FROM messaggi m, utenti u WHERE m.id_mittente=u.id_utente AND u.username='" + username + "'";

0 个答案:

没有答案