공부/Java와 Spring
-
TIL 193일 - jpa entityManager공부/Java와 Spring 2022. 7. 10. 19:47
Entity를 관리하는 클래스 내부에 persistence context가 존재한다고 함 이를 통해 엔티티를 관리 전에 여러 데이터 소스를 만들 때 사용했던 코드인데, em.setDataSource 라는 코드가 존재하는 것을 보니 엔티티매니져를 데이터 소스 별로 정의하여, 각 datasource confg마다 사용을 하게 하는 듯하다. @Bean public LocalContainerEntityManagerFactoryBean secondEntityManager() { LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); em.setDataSource(secondDatasource()); em.se..
-
TIL 188일 - JPA와 DDD공부/Java와 Spring 2022. 7. 5. 21:21
매핑구현 애그리거트 루트는 엔티티이므로 @Entity로 매핑을 설정한다. 엔티티와 밸류 데이터가 같이 있다면 - 밸류는 @Embeddable로 매핑 - 밸류 타입 프로퍼티는 @Embedded로 매핑 JPA 기본적인 매핑 지식 클래스 매핑 시 기본 생성자를 필요로 하고 getter setter를 필요로 한다. 귿네 이중 setter를 메서드 방식으로 구현하게 되면 도메인의 의미가 옅어지기 때문에 @Access(AccessType.FIELD) 어노테이션을 통해서 setter를 구현?해주도록 하자 밸류를 지정할 테이블? @CollectionTable 어노테이션을 사용하라는데, 아니 밸류인데 테이블이 왜 있지? 그럼 ID를 갖게 되고, 식별자가 있는거 아니야? 라고 생각을 했는데 ID(식별자)가 있다고 무조건 ..
-
TIL 187일 - Jackson ObjectMapper공부/Java와 Spring 2022. 7. 4. 23:37
javascript할 때는 JSON이 무서웠던 적이 없는데... 자바를 하다 보니까 JSON이 너무무섭다... 무튼 모르니까 무서운거지~ 그래서 공부해본다~ JavaObject -> JSON String 참고로 User 클래스에는 게터가 있어야 아래 코드가 동작한다. 그리고 테스트코드에서 작동시켰떠니 빈 어쩌꾸 저쩌구 하면서 에러가 발생했다. @Test void name() throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); User user = new User("얏얏이", 28); String strin..
-
TIL 186일 - java에서 JSON 컬럼 serialize하기(실패!)공부/Java와 Spring 2022. 7. 3. 17:30
converter 만들기 AttributeConverter 인터페이스를 구현하는 클래스를 만들고 아래 2개의 메서드를 만들면 DB로 넣을 때, DB에서 빼낼 때 처리가 가능하다. convertToDatabaseColumn convertToEntityAttribute 아니 하는 convert하는 방법은 알겠는데 json안에 object 배열로 있고, 그 안에 날짜도 있고 뭔 포맷도 어쩌구 저쩌구 하다보니까 생각보다 쉽지가 않네;; 아니 도대체 js는 걍 하는일을 왜 java는 이렇게 어렵게 하는거야 진짜...?
-
TIL 181일 - 멀티모듈에서 repository 테스트공부/Java와 Spring 2022. 6. 28. 21:09
DataJpaTest 어노테이션 이 어노테이션은 현재 패키지에서 @SpringBootConfiguration 주석을 찾고, 찾을 수 없는 경우 패키지 계층을 이동한다. /* 현재 내 패키지는 멀티 모듈 패키지로, 도메인 모듈에는 SpringBoot 앱이 없기 때문에 발생하는문제로 보인다. */ ....???? 왜 되는지는 모르고... 그냥 우연히 되는 걸 발견해 버림... 일단 테스트 코드는 아래처럼 됨 @DataJpaTest @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @Import(MainDatasourceConfig.class) public class repoTest { @Autowired private C..
-
TIL 180일 - 멀티 모듈에서 멀티 데이터 소스공부/Java와 Spring 2022. 6. 27. 23:37
도메인 모듈 우선 도메인 모듈에서 DB 별로 엔티티, 레포끼리 모아준다. 어... api 모듈...? 나머지는 진짜 아래대로 하면 되는데 대신에 https://2dongdong.tistory.com/33 Spring JPA Multiple Databases 설정 Spring JPA – Multiple Databases 1. 다중 DB 설정 시, 알아야 할 것2. 소스코드2-1. Entity2-2. Repository2-3. DB Configuration2-3-1 application.properties2-3-2 Main Datasource2-3-3 Seco.. 2dongdong.tistory.com 이 부분에서 basePackges만 domain이 위치한 패키지로 수정해 주면 된다. (당연히 그 아래 코..