我想了解如何配置我的Hibernate与我的MSSQL数据库及其架构正常工作。MSSQL架构和休眠5.1.0.Final(表未找到)
的问题是,表的验证过程中,它会记录(为每个表):
org.hibernate.tool.schema.extract.internal.InformationExtractorJdbcDatabaseMetaDataImpl
- HHH000262: Table not found SHARED_CONFIGURATION
我调试Hibernate来找出是什么原因导致这一点,并发现它调用类似:
EXECUTE [mydb]..sp_columns N'SHARED_CONFIGURATION',N'',N'mydb'
请注意,第二个参数是模式名称,并且传递了空字符串。当我试图对数据库运行这个查询时,它返回了空的结果集。但是,当我传递'dbo'作为第二个参数时,结果集不是空的(这意味着Hibernate应该调用它)。
好吧,我好像我需要定义架构。但是,在我的entites注解@Table都设置hibernate.default_schema或设置模式抛出异常:
Schema-validation: missing table [SHARED_CONFIGURATION]
所以现在我想知道什么是真正的问题。我也想在我的数据库中设置默认模式但不允许(因为它不存在或您没有权限,所以不能更改用户'sa'),即使使用用户'sa'本身执行:
ALTER USER sa WITH DEFAULT_SCHEMA = dbo;
请注意,这发生在任何驱动程序(JTDS,官方MS驱动程序..) 有人可以解释这里发生了什么,以及如何“正确”摆脱日志中的表示即使存在(并且应用程序能够与数据库正常运行)?
解决了吗?我有完全相同的问题。 –
不幸的是我没有 – d1x