NHNibernate는 무엇입니까?
이전 질문에 대한 후속 조치로.저는 ASP입니다.NET Programmer, 그리고 NHibernate가 어떻게 다른 방법보다 더 쉽고 빠르게 제 일을 끝낼 수 있는지 궁금합니다.NHibernate에 대해 아무것도 모르는 척합니다.그것은 무엇이고, 그것은 나에게 무엇을 해줄 수 있습니까?
NHibernate는 ORM 또는 객체 관계 매핑기입니다.LINQ to SQL, Entity Framework, LLBLGen 등의 ORM 도구를 사용하면 비즈니스 개체에 대한 CRUD(공통 데이터 액세스)를 처리하기 위해 저장 프로시저를 작성할 필요가 거의 없습니다.ORM 도구를 사용하려면 개체의 속성이 데이터베이스의 테이블 및/또는 뷰 열에 매핑되는 매핑 사양을 수동으로 생성해야 합니다(선택한 속성에 따라 다름).개체를 검색해야 할 경우 ORM 도구는 사용자에게 적합한 SQL을 생성하여 데이터베이스로 보냅니다.개체를 업데이트할 때가 되면 ORM은 SQL을 생성하여 삽입, 업데이트 및 삭제할 뿐만 아니라... 이러한 명령도 일괄 처리하여 단일 연결 및 명령 배치가 데이터베이스로 전송되고 트랜잭션에서 전체 작업을 수행합니다.또한 ORM 도구를 사용하면 한 번에 전체 개체 그래프를 선택하여 작업에 가장 효율적인 SQL을 생성할 수 있으므로 쿼리의 효율성을 높일 수 있습니다.
ORM 도구를 사용하는 경우에도 ORM의 컨텍스트 또는 세션 개체에 대한 기본 메서드를 사용하거나 해당 ORM에 대한 사용자 지정 쿼리 언어를 사용하여 쿼리해야 합니다.오늘날 NHibernate를 포함한 대부분의 ORM은 표준 LINQ 구문을 사용하여 개체 모델을 쿼리할 수 있도록 LINQ 지원을 제공하며, 이는 데이터베이스에 대한 SQL 쿼리로 변환됩니다.
OR 매퍼의 이점은 도메인과 저장된 프로시저 간에 코드를 분할하지 않고 거의 모든 코드를 도메인에 중앙 집중화할 수 있다는 것입니다.데이터베이스에 대한 저장 프로시저 로드를 줄여 필요한 경우 데이터베이스 리팩터링에 대한 장벽을 줄여 도메인뿐만 아니라 데이터베이스 스키마에서도 비즈니스 민첩성을 향상시킬 수 있습니다.SQL을 작성할 필요가 없기 때문에, 특히 LINQ를 사용하는 경우 더 적은 노력으로 더 효율적인 애플리케이션을 만들 수 있으며, 장기적인 유지보수 비용도 절감할 수 있습니다.
OR 매퍼는 DBA(DBA가 있는 경우)와의 불가피한 전쟁 외에도 구현 작업을 줄이고, 유지보수성을 개선하며, 비즈니스 민첩성을 높일 수 있는 상당한 이점을 제공할 수 있습니다.
그것이 질문에 답하기를 바랍니다. ;)
좋은 소개와 튜토리얼은 NHI National Screencasts의 Summer에서 찾을 수 있습니다.
각각의 비디오에서 그는 nHibernate로 된 주제에 대한 소개를 제공한 다음 다른 일을 하는 방법을 설명하면서 몇 가지 코드로 잠수합니다.저는 그것이 매우 도움이 된다는 것을 알았습니다.
Nhibernate는 ORM 도구입니다.
다임캐스트에는 시작할 수 있는 몇 가지 비디오가 있습니다.
자세한 내용은 여기에서 확인할 수 있습니다.
그리고 구글에 대한 더 많은 정보 :)
NHibernate는 ORM(Object-Relational Mapper) 도구입니다.데이터베이스 스키마를 기반으로 객체 지향 모델을 만듭니다.
출처: https://www.hibernate.org/343.html
NHN의 주요 특징:
자연 프로그래밍 모델 - NHibernate는 상속, 다형성, 구성 등 자연스러운 OO 관용구를 지원합니다.일반 컬렉션을 포함한 NET 컬렉션 프레임워크입니다.
네이티브.NET - NHibernate API는 를 사용합니다.NET 규약 및 관용구
세분화된 개체 모델 지원 - 컬렉션 및 종속 개체에 대한 다양한 매핑
빌드 시간 바이트 코드 향상 없음 - 빌드 절차에 추가 코드 생성 또는 바이트 코드 처리 단계가 없습니다.
쿼리 옵션 - NHibernate는 문제의 양면을 다룹니다. 객체를 데이터베이스로 가져오는 방법뿐만 아니라 객체를 다시 꺼내는 방법도 다룹니다.
사용자 지정 SQL - 개체를 유지하기 위해 NHibernate가 사용해야 하는 정확한 SQL을 지정합니다.저장 프로시저는 Microsoft SQL Server에서 지원됩니다.
"대화" 지원 - NHibernate는 장기간 지속되는 컨텍스트를 지원하고 객체를 분리/재연결하며 자동으로 최적의 잠금을 처리합니다.
자유/오픈 소스 - NHibernate는 LGPL(Lesser GNU Public License)에 따라 라이센스가 부여됩니다.
언급URL : https://stackoverflow.com/questions/959270/what-is-nhibernate
'programing' 카테고리의 다른 글
테스트/QA 프로세스와 통합된 Git 분기 전략 (0) | 2023.08.23 |
---|---|
'both added' 병합 충돌을 해결하시겠습니까? (0) | 2023.08.23 |
jqueryuiDialog: 초기화 전에 대화 상자에서 메서드를 호출할 수 없습니다. (0) | 2023.08.23 |
SQL 쿼리 : 다른 열을 기준으로 열에 값을 추가합니다. (0) | 2023.08.23 |
Maria에서 고유한 값을 가진 쿼리를 제한하려면 어떻게 합니까?DB (0) | 2023.08.23 |