나는 주로 MSSQL 데이터베이스에 대해 NHibernate를 사용하고 있는데, 여기서 MSSQL 스키마를 다양한 테이블에 사용했다.NHibernate "database"스키마 혼동 [. hibernate-mapping @schema]
내 단위 테스트에 대한<?xml version="1.0"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
auto-import="true"
schema="xyz"> <!-- schema specified -->
<class name="Customer">
<id name="Id">
<generator class="native" />
</id>
<property name="Name" />
</class>
</hibernate-mapping>
, 내가 SQLite는 실험을했습니다 그러나 내, 다음과 같이 내 NH 매핑 (HBM) 파일에서
, 나는 매핑 각 테이블에 대한 스키마를 지정한 NH가 데이터베이스 "xyz"를 찾을 수 없다고보고함에 따라 매핑이 실패합니다.
해석의 차이가 schema 인 점을 알고 있습니다. 따라서 NH의 해석/구현은 무엇이며 스키마를 사용할 때 가장 좋은 방법은 무엇입니까?
BTW : "nhibernate database schema"와 같은 키워드를 사용하여 웹을 검색하면 관련성이 없습니다.
public string GetQualifiedName(NHibernate.Dialect.Dialect dialect)
{
string quotedName = this.GetQuotedName(dialect);
return ((this.schema == null) ?
quotedName :
(this.GetQuotedSchemaName(dialect) + '.' + quotedName));
}
그래서 기본적으로 모든 시나리오에 대한 매핑 별도의 세트를 가지고하는 것보다 다른 스키마 이름을 무시하는 SQLite는 할 수있는 방법은 없습니다 :
현재 NH 2.0.1 GA를 사용 중입니다. 버전 2.1.0 Alpha3을 살펴보면 HBM XSD에 이제 카탈로그 속성이 포함 된 것처럼 보입니다. 더 조사 할 것입니다. – VirtualStaticVoid