Le annotazioni di Hibernate di base
Hibernate utilizza annotazioni per mappare le classi Java alle tabelle del database. Ecco una lista delle annotazioni più utilizzate di Hibernate:
@Entity e @Table
Questa annotazione indica che una classe è un’entità e che dovrà essere mappata a una tabella nel database.
@Entity
public class Employee {
// proprietà della classe
}
Nel caso in cui la tabella di riferimento ha un nome diverso dalla classe a cui si riferisce, possiamo utilizzare la annotazione @Table
@Entity
@Table(name = "EMPLOYEESLIST")
public class Employee {
@Id
private int id;
// altre proprietà della classe
}
In questo esempio la tabella EMPLOYEESLIST viene mappata sulla classe Employee.
@Id
Questa annotazione indica la proprietà che rappresenta la chiave primaria della tabella.
@Entity
public class Employee {
@Id
private int id;
// altre proprietà della classe
}
@GeneratedValue
Questa annotazione indica che il valore della proprietà annotata deve essere generato automaticamente dal database.
@Entity
public class Employee {
@Id
@GeneratedValue
private int id;
// altre proprietà della classe
}
Nel caso in cui il DBMS a cui ci colleghiamo è di tipo MySql il @GeneratedValue è connesso al campo AUTO_INCREMENT di tipo INTEGER.
@Column
Questa annotazione indica che una proprietà deve essere mappata a una colonna nella tabella.
@Entity
public class Employee {
@Id
private int id;
@Column
private String name;
@Column
private double salary;
// altre proprietà della classe
}
Per specificare il nome della colonna diversa dalla proprietà di riferimento basta utilizzare @Column(name=”nome_colonna”) dove al posto di nome_colonna potete inserire il nome della colonna presente sul DB.
@Transient
Questa annotazione indica che una proprietà non deve essere mappata a una colonna nel database.
@Entity
public class Employee {
@Id
private int id;
private String name;
@Transient
private int temp;
// altre proprietà della classe
}