< Précédent

Leçon 2 : examen du bean InventoryLevels généré

Le bean InventoryLevels est un objet Java réutilisable que différentes applications peuvent utiliser pour accéder à la table INVENTORY_LEVELS.
Cette leçon vous présente les sections du bean contenant les éléments spécifiques à pureQuery.

Pour accéder au bean InventoryLevels, procédez comme suit :

  1. Ouvrez l'onglet InventoryLevels.java dans le panneau central.
  2. Consultez les sections du bean. Le bean présente les sections suivantes :
    Section Java standard
    La première section est une section standard dédiée à une classe Java. Elle déclare le package Java auquel appartient la classe, contient un commentaire décrivant la classe, importe les classes d'autres packages et déclare le lancement de la classe. Notez cependant ces trois instructions d'importation :
    import com.ibm.pdq.annotation.Table;
    import com.ibm.pdq.annotation.Id;
    import com.ibm.pdq.annotation.Column;
    @Table, @Id et @Column sont des annotations utilisées par pureQuery dans ce bean. Vous découvrirez comment dans une section ultérieure du bean.
    Annotation @Table
    pureQuery utilise ensuite l'annotation @Table pour identifier la table représentée par le bean. pureQuery n'utilise cette annotation que dans les beans générés. Lorsque vous écrivez vos propres beans, il est inutile d'utiliser @Table.
    @Table(name = "INVENTORY_LEVELS", schema = "GOSALES")
    public class InventoryLevels {
    Déclaration des zones
    Les zones sont toutes déclarées avec une portée protégée, ce que vous spécifiez dans l'assistant Génération de code pureQuery à partir d'une table.
    	// Class variables
    	protected short inventoryYear;
    	protected short inventoryMonth;
    	protected int warehouseBranchCode;
    	protected int productNumber;
    	protected int openingInventory;
    	protected int quantityShipped;
    	protected int additions;
    	protected BigDecimal unitCost;
    	protected int closingInventory;
    	protected BigDecimal averageUnitCost;
    Déclaration des constructeurs
    Après avoir déclaré les zones du bean, le code déclare deux constructeurs. Le premier constructeur permet de créer des beans vides et le deuxième constructeur de créer des beans avec des valeurs pour les zones.
    	/**
    	 * Constructor for InventoryLevels.
    	 */
    	public InventoryLevels() {
    		super();
    	}
    
    	/**
    	 * Constructor for InventoryLevels that sets all fields.
    	 */
    	public InventoryLevels(short inventoryYear, short inventoryMonth,
    			int warehouseBranchCode, int productNumber, int openingInventory,
    			int quantityShipped, int additions, BigDecimal unitCost,
    			int closingInventory, BigDecimal averageUnitCost) {
    		super();
    		this.inventoryYear = inventoryYear;
    		this.inventoryMonth = inventoryMonth;
    		this.warehouseBranchCode = warehouseBranchCode;
    		this.productNumber = productNumber;
    		this.openingInventory = openingInventory;
    		this.quantityShipped = quantityShipped;
    		this.additions = additions;
    		this.unitCost = unitCost;
    		this.closingInventory = closingInventory;
    		this.averageUnitCost = averageUnitCost;
    	}
    Méthodes get() et set() pour chaque zone
    pureQuery utilise une annotation @Id pour identifier chaque zone mappée à une colonne de clé primaire de la table. Cependant, pureQuery n'utilise cette annotation que dans les beans générés. Lorsque vous écrivez vos propres beans, il est inutile d'utiliser @Id.
    Les noms de zone étant en casse mixte et n'utilisant pas de traits de soulignement, pureQuery utilise une annotation @Column sur les méthodes get() pour mapper le nom de chaque colonne de la table à la zone correspondante. Pour savoir quand utiliser l'annotation @Column, consultez le document Annotations dans les beans, qui décrit également d'autres annotations que vous pouvez utiliser. Vous pouvez également consulter la rubrique @Column dans pureQuery Javadoc.
    	/**
    	 * Get inventoryYear.
    	 * 
    	 * @return return inventoryYear
    	 */
    	@Id
    	@Column(name = "INVENTORY_YEAR")
    	public short getInventoryYear() {
    		return inventoryYear;
    	}
    
    	/**
    	 * Set inventoryYear.
    	 * 
    	 * @param short inventoryYear
    	 */
    	@Id
    	public void setInventoryYear(short inventoryYear) {
    		this.inventoryYear = inventoryYear;
    	}
< Précédent

Commentaires