2 Commits

Author SHA1 Message Date
curry772 6651e0e809 fix: 변환매핑 item이 하나도 없는 변환매핑 로딩 안되는 문제 처리
eapim-portal CI (from elink-online-core-jpa) / build (push) Has been cancelled
2026-08-27 12:02:50 +09:00
curry772 62291c9e57 비동기 로그 배치 커밋 적용
eapim-portal CI (from elink-online-core-jpa) / build (push) Has been cancelled
2026-08-12 13:16:06 +09:00
2 changed files with 12 additions and 5 deletions
@@ -4,8 +4,6 @@ import com.eactive.eai.data.entity.AbstractEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
@@ -17,8 +15,9 @@ import javax.persistence.Table;
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)
@Entity
@DynamicInsert
@DynamicUpdate
// @DynamicInsert 제거 : null이 아닌 컬럼만으로 INSERT SQL을 매번 새로 생성하므로
// 행마다 SQL 문자열이 달라져 Hibernate JDBC 배치(batch_size)가 동작하지 않는다.
// 로그 테이블은 항상 전체 컬럼을 INSERT 하므로 정적 SQL이 유리하다.
@Table(name = "http_adapter_extra_log")
@org.hibernate.annotations.Table(appliesTo = "http_adapter_extra_log", comment = "http 헤더 로그")
public class HttpAdapterExtraLog extends AbstractEntity<HttpAdapterExtraLogId> {
@@ -11,7 +11,15 @@ import com.eactive.eai.data.jpa.BaseRepository;
interface TransformLoaderRepository
extends DataLoaderRepository<TransformEntity>, BaseRepository<TransformEntity, String> {
@Query("from TransformEntity t inner join fetch t.transformItemEntities where t.useyn = '1' order by t.cnvsnname")
/**
* 변환 마스터(TSEAITR01) 전체 로딩.
*
* 변환 항목 매핑(TSEAITR03)이 한 건도 없는 변환도 로딩 대상에 포함시키기 위해 left join fetch 를 사용한다.
* inner join fetch 로 조회할 경우 TSEAITR03 이 비어 있는 변환은 결과에서 통째로 누락되어,
* 온라인 서버 기동 후 해당 변환 호출 시 "전문레이아웃매핑(변환)정보를 찾을 수 없음" 오류가 발생한다.
* (매핑 항목이 없는 변환은 TransformValidator 가 기동 시 warn 으로 남긴다)
*/
@Query("from TransformEntity t left join fetch t.transformItemEntities where t.useyn = '1' order by t.cnvsnname")
@Override
Stream<TransformEntity> loadAll();