Framework 20

하이버네이트(hibernate) POJO에 데이터 입력(setMethod) 를 제한하기 위한 방법 RuntimeException

빌링(billing)용 데이터 베이스를 설계와 개발 중 인데, 빌링 개발은 높은 난위도를 가진 시스템인 것을 세삼 느낀다. 최근 개발 중에 특별한 이슈가 생겼는데, 해결하는 과정에서 알게 된 내용이 있어 기록한다. 다른 버젼에서 다르게 동작할 수 있으므로 스펙을 기록한다.DB 시스템은 mysql, persistence framework은 Hibernate3, Hibernate-jpa-2.0-api-1.0.1.final 본론,매출이라는 데이터는 매우 특별해서 어느 특정 시점이 되면 절대 데이터는 바뀌지 않아야한다. (즉, 프로그램으로 따지면 final 속성이 붙어야 한다는 것이다. DB 클라이언트를 이용해 바로 update 하는 건 막을 방법이 없으므로 제외한다.)이 규칙을 Service단에서 더 좋은건,..

Framework/Hibernate 2017.02.28

Hibernate Order by 에서 부등호(=,<=,>=) 사용법

하이버네이트의 Hql을 사용하다 보면 Order by 절에서 부득이 하게 부등호를 사용할 경우가 있다. 아래와 같은 일반적인 쿼리문을 하이버 네이트에서 사용 할 경우 인데, SELECT * FROM example ORDER BY basedate>=NOW() DESC, ABS(DATEDIFF(basedate, NOW())) 이 쿼리를 하이버네이트 쿼리형식으로 수정할 경우 FROM Example ORDER BY basedate>=NOW() DESC, ABS(DATEDIFF(basedate, NOW())) 이렇게 된다. (지금 사용하고 있는 ORDER BY은 매우 유용할 수 있는 조건절인데, 현재날짜와 basedate와 비교해서 현재와 가장 가까운 순이면서 아직 현재를 지나지 않았거나 같은 데이터를 가져오는 ..

Framework/Hibernate 2013.03.26

Spring3 @ModelAttribute 사용시 Date 값 매핑방법

Spring MVC 모델를 사용할때 @ModelAttribute 라는 어노테이션 기능이 있다. 이 기능을 간단하게 설명하자면 보통 form 입력을 받을 경우 /** 일반적인 파라메터 객체에 주입방법 **/ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String parameter1 = request.getParameter("parameter1"); String parameter2 = request.getParameter("parameter2"); String parameter3 = request.getParameter("parameter3"..

Framework/spring 2012.05.18

POI Memory heap

출처 : http://gujjy.wordpress.com/2011/06/10/apache-poi-%EC%85%80%EA%B0%92%EC%9D%84-%EB%AC%B8%EC%9E%90%EC%97%B4%EB%A1%9C/ 위 사이트에서 알아낸 내용을 간단하게 간추려서 설명하자면 내가 필요한부분만.. HSSFWorkbook(이하 HSSF) 는 엑셀 97~2003 까지 데이터 형식의 파일을 생성 및 읽는 객체고, XSSFWorkbook(이하 XSSF) 은 엑셀 2007 을 지원하는 데이터 형식의 파일을 생성 및 읽는 객체이다. HSSF는 한 sheet에 최대 65,535 row 만 생성할수있어 현재 주로 사용하는 데이터 베이스에서 엑셀로 변환하는 작업에는 한계가 있다. XSSF는 최대 row의 갯수는 거의 무한대에..

Framework 2011.06.29

POI 3.5 beta1을 이용한 파일(DOC, XLS, XLSX) 내용 검색 예제

테스트 환경 - OS: Windows XP SP2 - JDK 5.0 - Tomcat 5.0.x - Eclipse 3.2.2 ( WTP 1.5.x ) - POI 3.5 beta1 2008.07.18 일자로 MS Office 2007 의 파일 포맷을 지원하는 POI 가 나왔군요. 기존의 POI 3.0.2 Final 버젼으로 구현했던 것 중 일부를 수정하면서 xlsx 파일에서 내용을 찾아서 뿌려주는 것을 테스트 해봤습니다. 생각보다 어려웠지만 그래도 이제 마무리를 하니 홀가분하군요. 첨부파일에는 파일이 3개 첨부되어있습니다. MS Word 문서 (doc) MS Excel 문서 (xls, xlsx ) 를 읽어서 내가 원하는 내용을 찾아주는 소스입니다. schxls-2008-07-24.zip 해당 소스를 사용하기..

Framework 2011.06.29

spring3 filter 설정 방법

web.xml 셋팅 ... spring3 org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring3*.xml 1 spring3 *.htm testFilter org.springframework.web.filter.DelegatingFilterProxy testFilter /* ... 위 방식대로 하면 filter객체가 spring Context 에 등록된 객체를 사용하지 못한다. 그렇기 때문에 root ContextConfigLocation에 으로 등록할 필요가 있는데 아래 설정을 보면 DispatcherServlet에서 context 설정 부분을 주석처리하고 셋팅 파일들(spring3*.xml)을 모두..

Framework/spring 2011.05.30

Commons Logging과 Log4J

1. Commons Logging Commons Loggin API는 자카르타 Commons에 포함되어 있는 프로젝트들이 로거로 사용하는 API이다. Commons Logging API는 자체적으로 로깅 기능을 구현하고 있지는 않으며, 로깅 요청을 Log4J나 자바1.4로깅 API와 같이 이미 존재하는 로깅 API에 전달하는 다리 역할을 한다. 즉, Commons Logging API를 사용하면 Log4J를 사용하든 자바 1.4의 로깅 API를 사용하든지에 상관없이 동일한 방식으로 로깅 코드를 작성할 수 있게 된다. Loggin API를 사용하기 위해서는 다음의 두 클래스만 사용하면 된다. - org.apache.commons.logging.Log - org.apache.commons.logging.Lo..

Framework 2011.05.24

[Hibernate] Spring framework에서 hbm.xml 파일 한꺼번에 관리하기.

Spring에선 Hibernate의 SessionFactory를 IoC로 관리하기 때문에... xml에 정의를 해준다. 이 영향인지... hibernate의 hibernate.properties파일은 필요가 없어져 버렸다... 물론 hibernate.properties파일에 설정되야하는 내용은 Spring의 applicationXXX.xml파일에서 정의해야한다. hbm.xml파일들도 물론 마찬가지인데... Code.hbm.xml MajorCode.hbm.xml MinorCode.hbm.xml Account.hbm.xml ..... ...... 위의 코드처럼 *.hbm.xml파일들을 관리하게 되는데... 이거 여간 짜증나는 일이 아니다... *.hbm.xml파일들을 한곳에 모아서 한꺼번에 관리할 수 없을까..

Framework/spring 2011.05.19