我在 RapidClipse(包括 Hibernate [和其他] 插件的 Eclipse Neon)中创建了一个新的持久性单元,使用 SQL-Server 2014 的新连接配置文件。“测试连接”工作正常 - “Ping 成功!”。
下一个对话框“从表生成实体 -> 选择表”显示所有表,但选择一个并使用“从表生成实体 -> 表关联”失败:
这仅在使用区分大小写的排序规则时才会发生 - 数据库使用“Latin1_General_BIN”,如果我将其切换为“Latin1_General_CI_AS”,休眠不会显示身份策略有任何问题,但我无法更改生产服务器上的数据库排序规则。
问题:有没有办法解决“无法从数据库中获取建议的身份策略列表”。错误而不更改排序规则?
堆栈跟踪:
org.hibernate.exception.SQLGrammarException: Could not get list of suggested identity strategies from database. Probably a JDBC driver problem.
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:106)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
at org.hibernate.cfg.reveng.dialect.SQLServerMetaDataDialect.getSuggestedPrimaryKeyStrategyName(SQLServerMetaDataDialect.java:69)
at org.hibernate.cfg.reveng.PrimaryKeyProcessor.processPrimaryKey(PrimaryKeyProcessor.java:109)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:183)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:125)
at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:118)
at org.hibernate.cfg.JDBCBinder.readDatabaseSchema(JDBCBinder.java:154)
at org.hibernate.cfg.JDBCBinder.readFromDatabase(JDBCBinder.java:119)
at org.hibernate.cfg.JDBCMetaDataConfiguration.readFromJDBC(JDBCMetaDataConfiguration.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.tools.hibernate.runtime.common.Util.invokeMethod(Util.java:43)
at org.jboss.tools.hibernate.runtime.common.AbstractConfigurationFacade.readFromJDBC(AbstractConfigurationFacade.java:208)
at xdev.eclipse.internal.hibernate.metadata.MetadataUtils.lambda$1(MetadataUtils.java:173)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107)
at xdev.eclipse.internal.hibernate.metadata.MetadataUtils.readDatabaseMetadata(MetadataUtils.java:146)
at xdev.eclipse.internal.server.core.ui.wizard.generateentities.AssociationsWizardPage.init(AssociationsWizardPage.java:849)
at xdev.eclipse.internal.server.core.ui.wizard.generateentities.AssociationsWizardPage.lambda$2(AssociationsWizardPage.java:789)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
at xdev.eclipse.internal.server.core.ui.wizard.generateentities.AssociationsWizardPage.lambda$3(AssociationsWizardPage.java:796)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Ungültiger Objektname 'INFORMATION_SCHEMA.Columns'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1522)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1716)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285)
at org.hibernate.cfg.reveng.dialect.SQLServerMetaDataDialect.getSuggestedPrimaryKeyStrategyName(SQLServerMetaDataDialect.java:36)
... 23 more