Spring 4 + JSP + Maven + Hibernate 4 + Spring JPA 2 + SQLServer(MSSQL) 2017 + Intellij 하면서 정리

1. JSP

1) <form:input> 계열 : path attribute를 꼭 지정하게 되어 있는데 이 path가 렌더링될 때 name이 되므로 name을 지정해도 무시된다.

2. Maven

1) java 파일 내에서 library를 못찾아오면
- (intellij에서는) pom.xml 우클릭 -> maven -> download sources, 다운로드 후 같은 메뉴에서 reimport


3. Hibernate + Spring JPA + SQLServer(MSSQL)

1) @Query (Query annotation)

- nativeQuery 옵션
-- true : query도 native고 결과도 native. Entity가 아니라 List로 반환됨.
-- false : query를 Entity 기준으로 작성해야 하고 반환되는 값도 해당 Entity

- parameter를 지정하고 싶으면
-- 함수 내 인자에 "모두" @Param("NAME")을 붙이거나
-- 순서대로 ?1, ?2, ...


4. Intellij

- DB를 바로 연결할 수 있어서 좋다. query를 날리거나 직접 데이터를 수정하는 것도 가능.


5. 기타

1) 전자정부 프레임워크를 쓰면서 발생한 현상. 오래 전이라 잘 기억은 안나지만 일단 기록.
DB 정보를 jasypt로 암호화해서 .properties 파일로 저장 -> datasource를 설정하는 .xml 파일에서 참조해야 하는데 본서버에서 아무리해도 DB에 접속을 못하는 현상이 발생했다. 매우 많은 시간을 들여 디버깅해보니 datasource를 불러오기 전에 db에 접속하려고 하는 문제였던 것 같다. -> xml 파일을 불러오는 순서를 정할 수 있나 엄청 찾아보다가 결국 datasource만 .java 파일로 빼고, 이런 식으로 순서를 지정해주었다.
@Order(value=1)
@Configuration
@EnableTransactionManagement
@PropertySource("classpath:/properties 경로")
public class DBConfig { ... }
참고로 전자정부 프레임워크는 버전 별로 호한성이 그다지 좋지 않다. 잘 알고 다운받자.


6. 여담
- 다음 프로젝트는 저런 스택을 쓰지 않을 것이다.

이 블로그의 인기 게시물

Postgresql에서 5432 port가 열려있냐는 문제(Ubuntu 기준)

vue에서 v-html에 포함된 class의 css가 적용되지 않는 경우

Linux screen 명령어 정리