회사에서 여러 DB가 정상적으로 동작을 해야되는 테스트를 해야 되었다. 가장먼저 mssql을 사용하게 되었는데 사실은 이것을 사용하는 회사에서 약간의 문제가 발생하여 이러한 테스트를 진행하게 되었다. 아무튼 mssql (sql server) 2019, 2017를 도커로 만들고 실행해서 테스트하는 작업을 가졌다. 다행히 정상적으로 실행이 되었다. 그런데 문제는 2016부터 발생하였다. 알고보니 mssql은 2017부터 리눅스를 지원한다고 한것이였다. 나는 그것도 모르고 도커로 왜 다운이 안되나 고민했었다. 아무튼 이것을 연동하는 방법은 생각보다 간단했다. 바로 virtual box같은 vm ware을 사용하는 방법인데 나는 무료이면서 잘 이용되는? virtual box를 사용하였다. 솔직히 window를 ..
방향, 다중성, 연관관계 주인 JPA에는 단방향과 양방향이 존재한다. 양방향은 무조건 필요할까? 객체는 참조를 사용해서 연관관계를 탐색할 수 있는데 이것을 객체 그래프 탐색이라고 한다. 팀 -> 맴버 1. 팀에 맴버 한명을 추가한다. 2. 맴버가 어떠한 팀에 들어간다. @JoinColumn 외래키를 매핑할때 사용한다. name : 매핑할 외래 키 이름 referencedColumnName 외래 키가 참조하는 대상 테이블의 컬럼명 foreignKey(DDL) 외래 키 제약 조건을 직접 지정할 수 있다. 연관관계 사용 - 저장 JPA에서 엔티티를 저장할 때 연관된 모든 엔티티는 영속 상태여야 한다. - 조회 객체 그래프 탐색 : 연관된 엔티티를 조회하는 것 객체지향 쿼리 사용 JPQL - 수정 단순히 불러온..
create : 기존 테이블을 삭제하고 새로 생성한다. DROP + CRERE create-drop : create 속성에 추가로 애플리케이션을 종료할 때 생선한 DDL을 제거한다. - DROP + CRERE + DROP update : 데이터베이스 테이블과 엔티티 매핑 정보를 비교해서 변경 사항만 수정한다. validate : 데이터베이스 테이블과 엔티티 매핑정보를 비교해서 차이가 있으면 경고를 남기고 애플리케이션을 실행하지 않는다. 이 설정은 DDL을 수정하지 않는다. none : 아무것도 하지 않는다. WARN: Unrecognized hbm2ddl_auto value : cressssssate. Supported values include 'create', 'create-drop', 'update..
오랜만에 작성하는 것 같다. 요즘 공부하는 패턴들이 생각보다 쉽지 않아 계속 미루고 있었는데 이 패턴은 그 나마 설명할 수 있을 것 같다. 근데 중재자라고 하는데 뭐를 중재하는 걸까? 이건 현실 세계에 비교 하면서 생각하면 좋은데 비행기와 관제탑 배와 등대 라고 볼 수 있다. 이들에 대해서는 자세히는 설명하기는 어렵지만 관재탑과 등대 모두 비행기와 배를 위해 어떤 특정한 작업을 하는 느낌이다. 사실 중재자라는 이름 보다는 중간 체계?이런 이름이 더 어울리는 것 같은데 이것을 그림으로 그려보자. 이런 그림이 그려지는데 이것을 해석해보면 A 에서 B를 갈려면 X를 거쳐야 한다는 뭐 그런 것 같다. 요게 uml인데 첫번째꺼 말고 두 번째를 보면 c1이 c2에게 연락을 취하기 위해서는 mediator에 먼저 연..