hibernate.default_schema是什么意思?

Eug*_*ica 8 nhibernate hibernate

我正在阅读Ben Scheirman博客文章,了解他为提高性能所做的一些NHibernate调整.

在文章的最后有:

第7课:始终确保已设置hibernate.default_schema

他的意思是hibernate.default_schema什么?

ano*_*ous 7

我不是一个dba所以我不能给你一个很好的模式定义...(对我而言,它只是SQL Server中的'数据库').

在NHibernate中,您可以指定两个位置的模式:在映射文件中,在配置中.

映射文件允许您指定每个类的模式.当您在同一服务器中有来自不同模式的类时,这很好.

SessionFactory配置允许您指定应该应用于未显式设置其架构的所有类映射的默认架构(default_schema选项).所以它是一个全部.

通过阅读链接,这似乎有利于提高性能,因为当您查询表"Bar"而未指定架构(比如数据库是"Foo",因此SQL Server中的架构"Foo.dbo")时,查询计划不会被缓存.这可能是由于SQL Server必须尝试解析连接字符串(初始目录,数据库等)使用哪个模式而不是在查询中显式("Bar"隐式 - 不缓存,"Foo.dbo") .Bar"显式 - 缓存".

再说一遍,我不是dba所以这些定义很糟糕:)

编辑:

这是配置内容的链接(对于NH 1.2 ...这是旧的...但default_schema选项在那里):

https://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/session-configuration.html