본문 바로가기
728x90
반응형

프로그램/JPA20

JPA 복합키 대부분의 엔티티에는 @Id 애노테이션을 한 개 사용한다. 하지만 테이블의 키가 복합키로 이뤄져 있다면 엔티티를 설계할 때에 이를 고려해야 한다. 복합키 설정 방법은 두 가지가 있다. 1 2 @Embeddable 이용하는 방법 @IdClass 이용하는 방법 cs 첫 번째 방법이 객체지향 방식에 가깝다고 한다. 두 번째 방법은 DB 방식에 가깝다고 하는데 잘 와닿지는 않는다. @Embeddable 이용 방법 다음과 같이 emp 테이블이 존재한다. emp 테이블의 키는 emp_name, emp_no 두 개의 복합키로 이뤄져 있다. 1 2 3 4 5 6 create table emp ( emp_name varchar(255) not null, emp_no integer not null, name varchar(.. 2021. 8. 5.
[Querydsl] Case When 사용하기 CaseBuilder를 통해 CaseWhen 문법 시작 when: 조건문 then: when절이 true일 경우 실행 otherwise: when절이 false일 경우 실행 otherwise가 끝나면 결과 물에 대한 alias(as) 적용 일반적으로는 Entity의 필드명이 자동으로 as 적용됨 하지만 CaseBuilder를 통해 계산한 결과물은 필드명이 없음 alias 하지 않으면 결과물 필드가 어떤 필드로 가야할지 명시되지 않아 오류가 발생 public List selectAuthManageList(Map searchInfo) { String searchKeyword = searchInfo.get("searchKeyword"); List tnAuthorList = queryFactory .select.. 2021. 8. 3.
no persistence.xml file found in project no persistence.xml file found in project Window->Preferences->Java Persistence-> JPA-> Errors/warnings-> Project 2021. 7. 22.
전자정부 표준프레임워크 3.10 전자정부 표준프레임워크 3.10 셋팅 2021. 7. 6.
jboss-web.xml jbos서버를 사용시 셋팅 파일입니다. / SET SESSION false 2021. 7. 2.
web.xml web.xml 환경설정 PortalWeb export-path /export import-path /import monitor-enabled true monitor-cycle-time 30 file-storage-time 10 cors egovframework.com.cmm.filter.SimpleCorsFilter cors /* index.jsp BASIC java.lang.Throwable /common/error.jsp 404 /common/error.jsp 500 /common/error.jsp http://www.egovframe.go.kr/tags/double-submit/jsp /META-INF/double-submit.tld 70 COOKIE 2021. 7. 2.
logback.xml 로그 설정 파일입니다. %d{HH:mm:ss.SSS} [%thread] %-5level [%logger] - %msg%n 2021. 7. 2.
pom.xml query dsl을 생성하기 위해 plugin인에 옵션을 추가하였습니다. 주석으로 설명 달아 놓았습니다. 4.0.0 invako invako war 1.0.0 invako http://www.egovframe.go.kr The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt 4.3.22.RELEASE 3.9.0 3.9.0 1.7.5 1.0.0-SNAPSHOT 5.5.2.Final 4.1.4 1.4.2.Final jdt_apt tobesoft http://mangosteen.tobesoft.co.kr/nexus/repository/maven-public/ mvn2 https://repo1.maven.org.. 2021. 7. 2.
postgre ddl 테스트용 ddl select * from TEST_TEAM; /* 1. 팀정보 시퀀스 생성 */ DROP SEQUENCE SQ_N_TEST_TEAM_01; CREATE SEQUENCE SQ_N_TEST_TEAM_01 START 1; /* 1.테스트 테이블 팀정보 */ CREATE TABLE TEST_TEAM ( TEAM_SN NUMERIC(12) NOT NULL, TEAM_NM VARCHAR(60) NOT NULL, TEAM_DC VARCHAR(200), SORT NUMERIC(4), DEL_YN CHAR(1) NOT NULL, REGISTER_ID VARCHAR(20) NOT NULL, REG_DT TIMESTAMP NOT NULL, UPDUSR_ID VARCHAR(20) NOT NULL, MDFCN_.. 2021. 7. 2.
마이바티스 쿼리 샘플 /* selectAuthManageList */ /* 권한관리 조회 */ SELECT AUTHOR_CODE, /* 권한코드 */ AUTHOR_NM, /* 권한명 */ AUTHOR_DC, /* 권한설명 */ AUTHOR_CREAT_DE, /* 권한생성일 */ DECODE(USE_AT,'Y',1,0) AS USE_AT, /* 사용여부 */ 'N' AS DEL_STATUS, /* 삭제여부 */ '롤등록' AS BTN_ROLE /* 버튼 */ FROM COMTNAUTHORINFO WHERE 1 = 1 AND AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' /* insertAuthManage */ /* 권한등록 */ /* updateAuthManage */ /* 권한수정 */ 2021. 7. 2.
mapper-config.xml 마이바티스 mapper-config.xml 2021. 7. 2.
context-transaction.xml 마이바티스와 jpa를 같이 쓰기 위해서는 트랜잭션 설정이 중요합니다. 에러가 발생하였을 경우 rollback이 제대로 일어 나야 합니다. 주석으로 설명 달아 놓았습니다. 마이바티스는 트랜잭션 설정할때 귀찮으니까.. 이렇게 한줄로 select,insert,update,delete 몽땅 다 트랜잭션 설정 되게 * 로 하고 사용하는데 jpa 사용할때는 세부적으로 옵션을 설정 하여야 시스템을 좀더 효율적으로 사용할수 있습니다. jpa는 dirty check를 하여서 읽어온 Entity에 변경이 발생하였을경우 자동으로 db에 저장을 합니다. 똑같은 데이터를 snap 해서 메모리에 올려 놓고 원본과 비교해서 변경 사항이 있으면 그냥 트랜잭션이 종료 될때 의도치 않는 업데이트가 발생합니다. 그래서 select는 읽기.. 2021. 7. 2.
context-security.xml 전자정부 시큐리티 관련 설정 파일입니다. 2021. 7. 2.
context-nexacro.xml 전자정부 하면 front단이 넥사크로 입니다. 넥사크로 환경 파일입니다. 2021. 7. 2.
context-mapper.xml 마이바티스에서 멀티 db 설정하기 위해서 2개의 db 설정 파일입니다. 데이터베이스트 티베로와 postgresq입니다. 티베로 db를 사용하기 위해서 tibero mapper 클래스를 만들어서 설정을 하였습니다. classpath:/egovframework/sqlmap/mapper/postgre/invako/**/*.xml classpath:/egovframework/sqlmap/mapper/tibero/invako/**/*.xml 2021. 7. 2.
context-jpa-repository.xml jpaRepository package 경로 스캔설정 파일입니다. 2021. 7. 2.
context-hibernate.xml 주석으로 설명 달아 놓았습니다. 이해가 안가시는분은 댓글 달아 주세요. was 에 따라서 멀티 db가 조금 꼬여서 톰캣서버에서는 잘되는데 jboss에서는 되긴 되는데 조금 db연결이 꼬여서 제외 했습니다. 멀티 db 마이바티스는 잘됩니다. jpa도 톰캣서버에서는 멀티 db 잘됩니다. org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl none egovframework.invako.querydsl.config.CustomPostgreSQLDialect true true true 5 2021. 7. 2.
context-datasource.xml 설정 파일 /* context-datasource.xml */ 멀티 DB 환경 설정 파일입니다. classpath*:/egovframework/egovProps/globals.properties 2021. 7. 2.
전자정부 소스 자동 생성 툴 전자정부 소스 자동생성 툴 메인화면입니다. jpa관련 엔티티,DTO,MAPPER, 서비스 단 만들기 귀찮아서 기본적으로 조회,등록,수정,삭제 기능까지 자동생성 툴입니다. 2021. 6. 30.
전자정부 eGovFramework jpa + 마이바티스 환경셋팅 전자정부 3.9.0 최신버전 jpa + 마이바티스 환경셋팅 정리 egov 시큐리티 적용 실업무에 적용해서 운영하고 있는 환경 설정 입니다. 전자정부 환경 셋팅에 어려움이 있으신 분이 있으면 참조 하시기 바랍니다. 마이바티스만 사용하다가 JPA와 마이바티스 같이 한번 사용해 볼려고 셋팅하였습니다. 엔티티,DTO,mapper,repository,controller,servce 전자정부 mvc 패턴 귀찮아서 자동으로 소스까지 생성하는 기능도 vue를 이용하여 만들었습니다. 개발자의 편의를 위해서 공통으로 조회하고 등록하는 기능을 그냥 조건을 주면 자동으로 만들어 주는 자동화 툴을 적용하였습니다. 시간 날때 마다 하나씩 올려 볼까 합니다. 일단 전자정부 기본환경 설정 파일입니다. 전자정부 3.9.0 버전으로 진.. 2021. 6. 30.
728x90
반응형


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading