< 이전

레슨 2: 생성된 Bean InventoryLevels 조사

InventoryLevels Bean은 다른 응용프로그램이 INVENTORY_LEVELS 테이블에 액세스하기 위해 사용할 수 있는 재사용 가능한 Java™ 오브젝트입니다.
이 레슨은 pureQuery에 특정한 요소를 포함하는 Bean의 섹션을 보여줍니다.

InventoryLevels Bean을 보려면 다음을 수행하십시오.

  1. 중간 분할 영역에서 InventoryLevels.java 탭으로 이동하십시오.
  2. Bean의 섹션을 보십시오. Bean에 다음 섹션이 있습니다.
    표준 Java 섹션
    첫 번째 섹션은 Java 클래스에 대한 표준입니다. 이 섹션은 클래스가 속하는 Java 패키지를 선언하고, 클래스를 설명하는 주석을 포함하며, 다른 패키지의 클래스를 반입하고 클래스 시작을 선언합니다. 그러나 다음 세 개의 import 명령문에 주목하십시오.
    import com.ibm.pdq.annotation.Table;
    import com.ibm.pdq.annotation.Id;
    import com.ibm.pdq.annotation.Column;
    @Table, @Id 및 @Column은 pureQuery가 이 Bean에서 사용하는 어노테이션입니다. Bean의 나중 섹션에서 방법을 보게 됩니다.
    @Table 어노테이션
    pureQuery는 다음에 @Table 어노테이션을 사용하여 Bean이 나타내는 테이블을 식별합니다. pureQuery는 생성된 Bean에서 이 어노테이션만 사용합니다. 사용자 고유의 Bean을 작성하는 경우 @Table을 사용하지 않아도 됩니다.
    @Table(name = "INVENTORY_LEVELS", schema = "GOSALES")
    public class InventoryLevels {
    필드 선언
    필드는 모두 테이블에서 pureQuery 코드 생성 마법사에서 지정한 보호 범위를 사용하여 선언됩니다.
    	// 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;
    구성자 선언
    Bean의 필드를 선언한 후 코드는 두 개의 구성자를 선언합니다. 첫 번째 구성자는 비어 있는 Bean을 작성하기 위한 것입니다. 두 번째 구성자는 필드 값으로 Bean을 작성하기 위한 것입니다.
    	/**
    	 * 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;
    	}
    각 필드에 대한 get() 및 set() 메소드
    pureQuery는 @Id 어노테이션을 사용하여 테이블의 1차 키 컬럼에 맵핑하는 각각의 필드를 식별합니다. 그러나 pureQuery는 생성된 Bean에서 이 어노테이션만 사용합니다. 사용자 고유의 Bean을 작성하는 경우 @Id를 사용하지 않아도 됩니다.
    필드 이름은 카멜(Camel) 케이스로 되어 있고 밑줄을 사용하지 않으므로, pureQuery는 get() 메소드에서 @Column 어노테이션을 사용하여 각 테이블 컬럼의 이름을 해당되는 필드에 맵핑합니다. @Column 어노테이션을 사용하는 시기에 대한 문서는 사용자가 사용할 수 있는 다른 어노테이션도 설명하는 Bean의 어노테이션을 참조하십시오. pureQuery Javadoc에 있는 @Column을 참조할 수도 있습니다.
    	/**
    	 * 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;
    	}
< 이전

피드백