如何加入表格Utente
和Messaggio
?
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 + "'";