РЕДАКТИРОВАТЬ: как сказано в ответе ниже, это ошибка, о которой кто-то сообщил еще.
Я пытался использовать Hibernate Tools для создания DTO (это вопрос, который я открыл вчера об этой задаче) в моем проекте. Я установил Hibernate Tools в своем текущем экземпляре Eclipse Neon и столкнулся с проблемой, подробно описанной ниже.
Затем я загрузил весь установщик JBoss Developer Studio и установил его, чтобы определить, есть ли проблема в моем экземпляре Eclipse. Но безрезультатно.
(Примечание: используя EclipseLink в экземпляре Eclipse, я могу генерировать сущности из диаграммы и таблицы из сущностей)
Проблема, с которой я сталкиваюсь, заключается в этом исключении в представлении журнала ошибок (а также в виде диалогового окна) при создании конфигурации гибернации, то есть при нажатии кнопки «ОК» в диалоговом окне ниже:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.hibernate.tool.util.MetadataHelper.getMetadataFromMethod(MetadataHelper.java:78)
at org.hibernate.tool.util.MetadataHelper.getMetadata(MetadataHelper.java:16)
at org.jboss.tools.hibernate.runtime.v_5_1.internal.ConfigurationFacadeImpl.getMetadata(ConfigurationFacadeImpl.java:168)
at org.jboss.tools.hibernate.runtime.v_5_1.internal.ConfigurationFacadeImpl.buildMappings(ConfigurationFacadeImpl.java:106)
at org.hibernate.console.ConsoleConfiguration$4.execute(ConsoleConfiguration.java:272)
at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:108)
at org.hibernate.console.ConsoleConfiguration.buildMappings(ConsoleConfiguration.java:270)
at org.hibernate.eclipse.console.workbench.ConsoleConfigurationWorkbenchAdapter.getChildren(ConsoleConfigurationWorkbenchAdapter.java:44)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.getChildren(BasicWorkbenchAdapter.java:98)
at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104)
at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:231)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.hibernate.tool.util.MetadataHelper.getMetadataFromMethod(MetadataHelper.java:72)
... 12 more
Caused by: java.lang.NullPointerException
at org.jboss.tools.hibernate.runtime.v_5_1.internal.JPAConfiguration.getMetadata(JPAConfiguration.java:36)
... 17 more
Вот снимок экрана с конфигурацией (кроме диалогового окна базы данных, установленного на MySQL (InnoDB)
на вкладке Options
, я не трогал другие параметры).
Вот содержимое моего файла hibernate.properties:
hibernate.bytecode.use_reflection_optimizer=false
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.password=verbus
hibernate.connection.url=jdbc:mysql://localhost:3306/verbus
hibernate.connection.username=verbus
hibernate.ddl-auto=none
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.format_sql=true
hibernate.search.autoregister_listeners=true
hibernate.show_sql=true
hibernate.validator.apply_to_ddl=false
hibernate.default_entity_mode=pojo
hibernate.order_inserts=true
hibernate.order_updates=true
Блок персистентности существует и был создан и обновлен с использованием компонента редактора диаграмм JPA Dali.
Пуста база данных или таблицы уже созданы EclipseLink, ничего не меняет.
Я предполагаю, что это происходит из-за неправильной конфигурации, но отсутствие подсказок в сообщении об ошибке, кроме стандартного исключения, оставляет меня беспомощным.
Можно ли определить точную причину этой ошибки?