본문 바로가기

Programming/ORM

MyBatis.Net pass value to using SQL's In clause Foreach element 사용 일반적인 방법으로는 MyBatis 자체적 지원하는 기능을 사용하는 것입니다. Example (.Net, Java platform 간 차이가 있을 수 있음) SELECT * FROM POST P WHERE ID in #{item} Joined string 사용 Join() function을 활용하여 생성한 문자열을 인자로 전달합니다. 이를 위해서는 parameter를 ‘#’이 아닌 ‘$’로 감쌀 필요가 있습니다. (쿼리에 작은 따옴표를 붙이지 않음) Example (Javascript, SQL) var array = [1, 2, 3, 4]; var joined = array.join(); UPDATE TABLE SET VALUE = #value# WHERE ID IN ($.. 더보기
Entity framework timeout 서버 구성에서 DB는 단독으로 운영하는 게 안정적일텐데.Test환경이 충분하지 않아, WAS + Process + DB를 하나의 서버에 몰아 넣었더니...Entity framework에서 connection timeout오류가 났습니다. 올려둔 Process가 한 번에 8개씩 돌면, CPU full은 기본이고 memory도 간당간당할 수준이라어쩌면 충분히 예상했어야 했던 일인지도 모르겠네요. 동시에 실행할 Process 개수를 적당히 줄이는 게 모범 답안이겠지만,일단 timeout 관련한 내용을 찾아봤습니다. Default timeout value는 provider의 그것에 따릅니다. (MS-SQL, MySQL의 경우 30sec)이는 .Config 파일 및 source code 상에서 설정이 가능합니다... 더보기
iBatis vs. Hibernate 논쟁 Link 1 요약 (2013년)iBatis를 추천하는 경우SQL을 작성하고, 관리한다면관계형DB를 사용한다면복잡한 schema를 가지고 있다면CompetitivenessSimpleFasterFlixableSmaller (size) Hibernate를 추천하는 경우SQL을 자동으로 생성하고 싶다면CompetitivenessSQL auto generationProvide more advance cacheHighly scalable 더보기
6.1 bug? Entity framework 6.1 version에서 문제가 없음에도 “Duplicate type name within an assembly.”라는 Exception message가 출력되는 현상을 확인하였습니다.6.1의 issue로 보이며, 잠정적으로 6.0 version으로 downgrade해서 사용하는 것이 안정적일 것 같습니다. (참고로 저는 이것 때문에, 어제 반나절을 까먹었습니다…) DowngradePackage manager console에서 다음을 입력합니다.Install-package entityframework –version 6.0.0혹시, install에 장애가 발생한다면 uninstall-package entityframework로 명령하여, 6.1을 제거한 뒤 설치하시면 됩니다.. 더보기
enum support Entity framework > Enum 을 지원합니다.어떤 common code를 대체제로써 큰 역할을 할 수 있을 것 같습니다. Reference http://msdn.microsoft.com/en-us/data/jj248772.aspx - Silverlight 동영상 포함 더보기
More faster! Entity framework 등의 ORM에서는 항상 성능에 관한 issue가 있습니다.닷넷에서는 어떤 ORM이라도 비용면에서 ADO.Net을 앞서지는 못합니다. Enhance performance단순히 data를 읽어 오는 용도에서는 EntityCollection.AsNoTracking()을 사용하면 비용 개선 효과를 얻을 수 있습니다. (그림 참조)역할은 간단히 소개드리면, entity framework에서 entity를 추적하기 위한 부가적인 장치를 사용하지 않도록 합니다. Referenceshttp://msdn.microsoft.com/ko-kr/library/h43ks021(v=vs.110).aspxhttp://weblogs.asp.net/fbouma/archive/2013/12/09/fetch.. 더보기
Introduce Entity framework IntroduceObject/Relation Mapping(ORM)Work with relational data as domain-specific objectsEliminating the need for most of the data access plumbing code Benefits개발시간이 절감된다.개발자는 응용프로그램을 구현하는 입장에서 개체 모델의 관점에서 작업할 수 있다.응용프로그램은 독립적인 개념적 모델을 지원함으로써 실제 데이터 저장소에 대한 종속이 해방될 수 있다.객체 모델과 특정 데이터 저장소의 스키마 사이의 매핑을 응용프로그램의 코드를 변경하지 않고도 가능하다.LINQ지원으로 개념적 모델에 대한 질의 시에 인텔리센스가 제공되며 컴파일 타임에서 구문 유효성 검사가 제공된다.http://.. 더보기
ORM comparison ORM comparison 에 대한 재미난 benchmark 입니다. http://weblogs.asp.net/fbouma/archive/2013/12/09/fetch-performance-of-various-net-orm-data-access-frameworks.aspx 더보기