1. 최초 등록, 최종 수정에 대한 정보관리
: 프로그램을 처리하다보면 데이타의 최초 등록자/등록일자와 최종 수정자/수정일자를 관리해야만 할일이 많다.
이럴때 Axboot에서는 자동으로 관리할 수 있도록 이미 구현해 놓은 BaseJpaModel class를 사용하기만 하면 된다.
2. 처리방법
1) 제품테이블에 컬럼 생성
: 먼저 등록/수정정보를 관리할 수 있는 컬럼을 대상테이블에 만든다. 여기서는 기존에 만들었던 제품테이블에
만들도록 한다. 쉽게 만들기를 원한다면 기존에 기본적으로 만들어져있는 menu_m 테이블에 있는
4개의 컬럼인 CREATED_AT(등록일시), CREATED_BY(등록자), UPDATED_AT(수정일시), UPDATED_BY(수정자)을
열복사 후 제품테이블에 붙여넣으면 된다.
- menu_m테이블에서 복사
- 제품정보 붙어넣기
3. Product.java 수정
package com.dasdes.shopmng.domain.prdt; import com.chequer.axboot.core.annotations.ColumnPosition; import com.dasdes.shopmng.domain.SimpleJpaModel; import lombok.*; import org.apache.ibatis.type.Alias; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import com.chequer.axboot.core.annotations.Comment; import javax.persistence.*; import javax.validation.constraints.NotNull; import com.dasdes.shopmng.domain.BaseJpaModel; //BaseJpaModel 추가 @Setter @Getter @DynamicInsert @DynamicUpdate @Entity @EqualsAndHashCode(callSuper = true) @Table(name = "prdt_base") @Comment(value = "") @Alias("product") //기존에 SimpleJpaModel로 되어있던 부분을 BaseJpaModel 로 수정한다. public class Product extends BaseJpaModel<String> { @Id @Column(name = "prdt_cd", length = 50, nullable = false) @NotNull(message = "제품코드를 입력하세요") //pk이므로 not null 체크 추가 @Comment(value = "제품코드") private String prdtCd; @Column(name = "prdt_nm", length = 50, nullable = false) @Comment(value = "제품명") private String prdtNm; @Column(name = "origin", length = 50, nullable = false) @Comment(value = "원산지") private String origin; @Column(name = "purchase_price", precision = 10, nullable = false) @Comment(value = "매입가격") private Integer purchasePrice; @Column(name = "sales_price", precision = 10, nullable = false) @Comment(value = "판매가격") private Integer salesPrice; @Override public String getId() { return prdtCd; } } |
4. 결과
1) 화면에서 원산지 수정 및 신규제품을 추가해본다.
2) 테이블에서 확인해본다.
: 이미 BaseJpaModel 에 모두 구현되어있어 별다른 손을 대지 않고도 아래와 같이 생성 또는 수정정보가 정상적으로
갱신되고 있는것을 볼 수 있다.
만족하셨나요? ~~~~~~~
'오픈소스 > AXBoot프로그래밍' 카테고리의 다른 글
Axboot 신규화면 만들기 7 - 중복등록체크로직 추가 -1 현상/방안 (0) | 2018.11.28 |
---|---|
Axboot 신규화면 만들기 6 - 행추가시 초기값(default) 셋팅하기 (0) | 2018.11.28 |
Axboot 신규화면 만들기 4 - Detail 내역 컬럼 콤보박스 만들기(DB연동) (0) | 2018.09.05 |
Axboot 신규화면 만들기 3 - 정상적인 CRUD를 위한 JAVA소스 수정 (0) | 2018.09.03 |