Hibernate, InteliJ - генерирует постоянное отображение, неверное имя таблицы - PullRequest
0 голосов
/ 17 октября 2018

Я использую hibernate с InteliJ Idea Ultimate, каждый раз, когда я пытаюсь сгенерировать отображение постоянства своих таблиц, он генерирует их со слегка некорректным именем @Table

Структура моей базы данных - IMGUR IMAGE

поэтому мое правильное имя таблицы для таблицы «Activity» будет: «[dbo]. [Activity]»

, но InteliJ сгенерирует его следующим образом:

@Table(name = "Modules", schema = "dbo", catalog = "test-V4ClientDb")

И это вызывает ошибки, когда он не может получить данные:

ОШИБКА: неправильный синтаксис рядом с '-'.org.hibernate.exception.SQLGrammarException: не удалось извлечь ResultSet в org.hibernate.exception.internal.SQLStateConversionDelegate.convert (SQLStateConversionDelegate.java:106) в org.hibernate.exception.internal.StandardSQLExceptionConver..в org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:111) в org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert (SqlExceptionHelper.java:97) в org.hiber.hb.internal.ResultSetReturnImpl.extract (ResultSetReturnImpl.java:79) в org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.getResultSet (AbstractLoadPlanBasedLoader.java:4iber.exeLlan.loader.lob.loader.lob.loader.lob.loader.loader.loader.log.executeQueryStatement (AbstractLoadPlanBasedLoader.java:186) в org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad (AbstractLoadPlanBasedLoader.java:121) в org.hibernate.inland.Alan.Plan.planPlanasedLoader.executeLoad (AbstractLoadPlanBasedLoader.java:86) в org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load (AbstractLoadPlanBasedEntityLoader.java:167) в org.hibernate.ers4.EntityPersister.persisterпо адресу org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource (DefaultLoadEventListener.java:508) по адресу org.hibernate.event.internal.DefaultLoadEventListener.doLoad (DefaultLoadEventListener.java:47ht.(DefaultLoadEventListener.java:219) в org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad (DefaultLoadEventListener.java:278) в org.hibernate.event.internal.DefaultLoadEventListener.doOlL.Eh.event.internal.DefaultLoadEventListener.onLoad (DefaultLoadEventListener.java:89) в org.hibernate.internal.SessionImpl.fireLoad (SessionImpl.java:1220) в org.hibernate.internal.SessionImpl.access $ 1900 (SessionImpl.java:203) в org.hibernate.internal.SessionImpl $ IdentifierLoadAccessImpl.doLoad (SessionImpl.java:2767) в org.hibernate.internal.SessionImpl $ IdentifierLoadAccessImpl.load (в сеансе.hibernate.internal.SessionImpl.get (SessionImpl.java:1056) в hibernate.DatabaseManager.retrieveModuleFromDatabase (DatabaseManager.java:82) в hibernate.DatabaseManager.populateDatabase (DatabaseManager.java:58) в runner.TestRunner.plus: 30) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImplanj.jjjj.отражать: 12) в org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47) в org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:24)в org.junit.internal.runners.statements.RunAfters.evaluate (RunAfters.java:27) в org.junit.runners.ParentRunner.run (ParentRunner.java:363) в cucumber.api.junit.Cucumber.run (огурец.java: 100) в org.junit.runner.JUnitCore.run (JUnitCore.java:137) в org.junit.runner.JUnitCore.run (JUnitCore.java:115) в org.testng.junit.JUnit4TestRun (JUnit4TestRunner.java:81) в org.testng.junit.JUnit4TestRunner.run (JUnit4TestRunner.java:69) в org.testng.TestRunner $ 1.run (TestRunner.java:697) в org.testng.WunRun.RestJava: 1004) в org.testng.TestRunner.privateRunJUnit (TestRunner.java:728) в org.testng.TestRunner.run (TestRunner.java:629) в org.testng.SuiteRunner.runTest (SuiteRunner.java:366)org.testng.SuiteRunner.runSequentially (SuiteRunner.java:361) в org.testng.SuiteRunner.privateRun (SuiteRunner.java:319) в org.testng.SuiteRunner.run (SuiteRunner.java:268) в org.test.Wun. Test.runSuite (SuiteRunnerWorker.java:52) в org.testng.SuiteRunnerWorker.run (SuiteRunnerWorker.java:86) в org.testng.TestNG.runSuitesSequentially (TestNG.java:1244) в org.testng.TestNG.runSuitesLocally (TestNG.java:1169) в org.testng.TestNG.run (TestN64.java).surefire.testng.TestNGDirectoryTestSuite.execute (TestNGDirectoryTestSuite.java:99) в org.apache.maven.surefire.testng.TestNGProvider.invoke (TestNGProvider.java:146) в org.apache.mavenooooForkedBooter.java:383) в org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess (ForkedBooter.java:344) в org.apache.maven.surefire.booter.ForkedBooter.execute (ForkedB: at5)..apache.maven.surefire.booter.ForkedBooter.main (ForkedBooter.java:417) Причина: com.microsoft.sqlserver.jdbc.SQLServerException: неверный синтаксис neaр '-'.по адресу com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError (SQLServerException.java:254) по адресу com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult (SQLServerStatement.java:160.server.Server.Server.Server.Server.Server.Server.Server.Server.Server.Sort(SQLServerPreparedStatement.java:578) по адресу com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement $ PrepStmtExecCmd.doExecute (SQLServerPreparedStatement.java:508) по адресу com.microsoft.sqlserver.jdba.er.SC.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand (SQLServerConnection.java:2869) в com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand (SQLServerStatement.java:243) в com.microsoft.sqmentServerStateStateServer.jstever.exeJava: 218) в com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery (SQLServerPreparedStatement.java:434) в org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract (ResultSva: 70) ... 56 more

есть ли возможность настроить InteliJ для использования правильного именования?

Я использую Microsoft Azure sql server.

Спасибо.

РЕДАКТИРОВАТЬ

Это также работает, если нет "каталог "указан

@Table(name = "Modules", schema = "dbo")

Так что вопрос все еще в том, как настроить инструмент InteliJ hibernate для использования правильного именования.

1 Ответ

0 голосов
/ 17 октября 2018

Похоже, вы не можете использовать символ "-" в строке каталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...