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;
}