본문 바로가기

Programming

[Hibernate] Criteria를 이용하여 Sorting하기 Hibernate의 Criteria를 이용하여 프로그래밍시에 Entity class가 다른 entity를 참조하고 있을 경우에 Sort Ordering을 하기 위하여서는 다음과 같이 해줘야 합니다. 예를 들어서 다음과 같은 코드가 있다고 한다면... Class A { String someProperty; Class B otherObject; } Class B { String name; } A Entity를 select하여 올때 B Class의 name으로 Sorting을 하고 싶다면... 다음과 같이 하면 될것 같으나 해보면 에러가 발생합니다. Criteria fooCriteria = session.createCriteria(A.class); fooCriteria.addOrder(Order.asc("ot.. 더보기
Spring 3.0 의 새로운 기능들 Spring 3.0을 이미 Project에 적용하고 계신 분들도 있으시리라고 생각합니다. 웹서핑을 하다가 보니 Spring 3.0의 새로운 기능에 대하여 잘 설명하고 있는 자료가 있어서 퍼왔습니다. 2009년 5월에 열린 Java User Group 세미나에서 발표된 자료구요, 원본 출처는 다음과 같습니다. http://www.intertech.com/UserGroups/JUGPresentation.aspx?TopicID=135 무엇보다 REST URL을 지원해주는 부분이 눈에 띄는 부분입니다. 기존에 이 부분이 지원이 안되서 외부 라이브러리를 사용하거나 직접 구현하여 사용하곤 했었는데, 아주 깔끔하게 이 부분이 적용이 되었네요. PPT에 그 내용도 설명이 나와있습니다. 한번 읽어보시기 바랍니다. 좀 더.. 더보기
Java의 랜덤한 숫자 발생시 주의할점 Effective Java에 나오는 내용이긴 합니다만, 우리가 자주 저지르는 실수가 있습니다. 프로그램을 하다가 보면 자주 난수(Random number)를 발생시켜야 할 때가 있습니다. 아래와 같은 코드를 사용하여 많이 발생을 시키죠. private static final Random rnd = new Random(); static int random(int n) { return Math.abs(rnd.nextInt()) % n; } 논리적으로는 아무런 문제가 없어 보입니다. 그렇지만 실제적으로 다음과 같은 코드를 사용하여 테스트를 해보도록 합시다. public static void main(String[] args) { int n = 2 * (Integer.MAX_VALUE / 3); int low .. 더보기
JAXB를 사용하여 Java Object를 한번에 XML로 변환하기 Java Object를 XML로 변환하고자 할때 과거에는 포맷에 맞춰서 XML을 일일이 출력해주는 방식도 사용을 했었다. 그렇지만 굉장히 노가다이고, 짜증나는 작업이 아닐수 없다. 이런 노가다를 줄이기 위하여 Java Object를 XML로 변환해주는 많은 툴들이 나와있다. 그중에 가장 많이 사용되는 것이 JAXB(Java Architecture for XML Binding) 이다. 기본적인 지식을 얻고 싶다면 아래의 주소에서 확인을 하자. http://java.sun.com/developer/technicalArticles/WebServices/jaxb/ Maven을 사용하고 있다면 Pom.xml에 Dependency를 추가하여 필요한 라이브러리를 다운받자. com.sun.xml.bind jaxb-im.. 더보기
Performance Tunning시에 참고할 명언들 Effective Java 3nd Edition을 회사사람들과 함께 스터디하는 중에 보게된 명언들이다. More computing sins are committed in the name of efficiency (without necessarily achieving it) than for any other single reason—including blind stupidity. —William A. Wulf [Wulf72] ( 맹목적인 어리석음을 포함한 다양한 이유중에 죄악같은 프로그램을 행하게 되는 으뜸의 이유는 바로 efficiency라는 이름으로 행하여 지게 된다, ) We should forget about small efficiencies, say about 97% of the time: pre.. 더보기