1.8 KiB
1.8 KiB
aliases
aliases | |
---|---|
|
up:: EJB entity bean #s/informatique/langage/java
Annotations java qui permettent de créer facilement des EJB entity bean
Documentation : http://www.objectdb.com/api/java/jpa
Exemples
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "book_title", nullable = false, updatable = false) private String title;
private Float price;
@Column(length = 2000)
private String description;
private String isbn;
@Column(name = "nb_of_page", nullable = false)
private Integer nbOfPage;
private Boolean illustrations;
@Basic(fetch = FetchType.LAZY)
@Lob
private byte[] audioText;
// Constructors, getters, setters ...
}
@Column
: préférences pour les colonnes (de la BDD)name, unique, nullable, insertable, updatable, table, length, precision, scale...
@GeneratedValue
: stratégie de génération automatique des clefs primaires- stratégie recommandée :
GenerationType.auto
- stratégie recommandée :
@Lob
: "Large object" (notamment pour les BLOB : Binary Large OBject)- Souvent utilisé avec
@Basic(fetch = FetchType.LAZY)
indiquer un chargement lazy (seulement au moment du get de cet attribut).
- Souvent utilisé avec
Colonnes composites
@Embeddable
public class Address {
protected String street;
protected String city;
protected String state;
@Embedded
Zipcode zipcode;
}
@Embeddable
public class Zipcode {
String zip;
protected String plusFour;
}
Clef primaire composite
@Embeddable
public class CompositeId {
String name;
String email;
}
@Entity
public class Dependent {
@EmbeddedId // indique que la clef primaire est dans une autre classe
CompositeId id;
@ManyToOne
Employee emp;
}