- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 jaybird 2.2.3 和 hibernate 3.5,当我使用向导 hibernate 映射文件和 pojos 数据库时出现以下错误“java.lang.NullPointerException”
我对 mysql 使用相同的映射并且它工作正常,所以我相信它是 jaybird 中的东西
My hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.FirebirdDialect</property>
<property name="hibernate.connection.driver_class">org.firebirdsql.jdbc.FBDriver</property>
<property name="hibernate.connection.url">jdbc:firebirdsql://XXXXXX:XXXX/X:\XXXX\XXXX\XXX\XXX\XX\XXX.FDB</property>
<property name="hibernate.connection.username">sysdba</property>
<property name="hibernate.connection.password">XXXXX</property>
</session-factory>
</hibernate-configuration>
编辑:
INFO [org.hibernate.cfg.Configuration]: configuring from file: hibernate.cfg.xml
INFO [org.hibernate.cfg.Configuration]: Configured SessionFactory: null
INFO [org.hibernate.cfg.reveng.OverrideRepository]: Override file: C:\Documents and Settings\micro-40\workspace\testefirebird\src\java\hibernate.reveng.xml
INFO [org.netbeans.modules.hibernate.util.HibernateUtil]: Found pre-existing database connection.
INFO [org.netbeans.modules.hibernate.util.HibernateUtil]: Database Connection is pre-established. Returning the conneciton.
INFO [org.hibernate.connection.ConnectionProviderFactory]: Initializing connection provider: org.netbeans.modules.hibernate.util.CustomJDBCConnectionProvider
INFO [org.netbeans.modules.hibernate.util.CustomJDBCConnectionProvider]: Loaded JDBC driver
INFO [org.netbeans.modules.hibernate.util.CustomJDBCConnectionProvider]: Got connection.. returning
INFO [org.netbeans.modules.hibernate.wizards.HibernateCodeGenWizardDescriptor]: access to hibernate fails.
java.lang.NullPointerException
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:86)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2005)
at org.hibernate.cfg.JDBCMetaDataConfiguration.readFromJDBC(JDBCMetaDataConfiguration.java:40)
at org.netbeans.modules.hibernate.wizards.HibernateCodeGenWizardDescriptor.checkConfig(Hibernat eCodeGenWizardDescriptor.java:282)
[catch] at org.netbeans.modules.hibernate.wizards.HibernateCodeGenWizardDescriptor.isValid(HibernateCod eGenWizardDescriptor.java:177)
at org.openide.WizardDescriptor.updateStateOpen(WizardDescriptor.java:872)
at org.openide.WizardDescriptor.updateState(WizardDescriptor.java:820)
at org.openide.loaders.TemplateWizard.updateState(TemplateWizard.java:754)
at org.netbeans.modules.project.ui.NewFileWizard.updateState(NewFileWizard.java:124)
at org.openide.WizardDescriptor._updateState(WizardDescriptor.java:798)
at org.openide.WizardDescriptor.access$200(WizardDescriptor.java:90)
at org.openide.WizardDescriptor$Listener.stateChanged(WizardDescriptor.java:2094)
at org.openide.util.WeakListenerImpl$Change.stateChanged(WeakListenerImpl.java:329)
at org.openide.loaders.TemplateWizardIterImpl.run(TemplateWizardIterImpl.java:275)
at org.openide.util.Mutex.doEvent(Mutex.java:1343)
at org.openide.util.Mutex.writeAccess(Mutex.java:457)
at org.openide.loaders.TemplateWizardIterImpl.fireStateChanged(TemplateWizardIterImpl.java:261)
at org.openide.loaders.TemplateWizardIterImpl.setIterator(TemplateWizardIterImpl.java:120)
at org.openide.loaders.TemplateWizardIteratorWrapper.setIterator(TemplateWizardIteratorWrapper. java:79)
at org.openide.loaders.TemplateWizard.setTemplateImpl(TemplateWizard.java:209)
at org.openide.loaders.TemplateWizard$1.run(TemplateWizard.java:231)
at org.openide.loaders.TemplateWizard$1.run(TemplateWizard.java:228)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1363)
at org.openide.util.Mutex.readAccess(Mutex.java:273)
at org.openide.loaders.TemplateWizard.setTemplate(TemplateWizard.java:228)
at org.netbeans.modules.project.ui.TemplateChooserPanel.storeSettings(TemplateChooserPanel.java :168)
at org.netbeans.modules.project.ui.TemplateChooserPanel.storeSettings(TemplateChooserPanel.java :71)
at org.openide.WizardDescriptor.storeSettingsAndNotify(WizardDescriptor.java:1379)
at org.openide.WizardDescriptor.access$1700(WizardDescriptor.java:90)
at org.openide.WizardDescriptor$Listener$1.run(WizardDescriptor.java:2117)
at org.openide.WizardDescriptor.lazyValidate(WizardDescriptor.java:1502)
at org.openide.WizardDescriptor.access$1900(WizardDescriptor.java:90)
at org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:2141)
at sun.reflect.GeneratedMethodAccessor182.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:457)
at com.sun.proxy.$Proxy57.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1082)
at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:1076)
at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:1126)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:1098)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:128)
at org.openide.util.Mutex.doEventAccess(Mutex.java:1363)
at org.openide.util.Mutex.readAccess(Mutex.java:273)
at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:1083)
at java.awt.Component.show(Component.java:1651)
at java.awt.Component.setVisible(Component.java:1603)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerI mpl.java:260)
at org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run(DialogDisplayerImpl.jav a:186)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
谁能帮帮我?
最佳答案
在深入研究 Netbeans 的代码并向 Jaybird 添加额外的日志记录后,问题是 Netbeans 使用自定义类加载器加载驱动程序,该类加载器不返回 META-INF/services
中的资源(特别是对于 Jaybird 2.2.x:META-INF/services/org.firebirdsql.gds.impl.GDSFactoryPlugin
)。
这会破坏驱动程序,因为这些服务定义用于加载可用的 GDSFactoryPlugin
定义(例如,一个用于 Type 4 默认实现、Type 4 Open Office 实现、Type 2 嵌入式客户端和 Type 2 native 客户端)。
我将添加某种回退机制或将此插件定义移动到单独的位置,并研究 Netbeans 这样做的原因,因为它对我来说意义不大。
使用Jaybird 2.2.4 或更高版本。
注意:请勿使用此解决方法,它已被 Jaybird 2.2.4 版本取代
作为解决方法,我发布了 Jaybird 2.2.4 的快照版本,您可以从 http://sourceforge.net/projects/firebird/files/firebird-jca-jdbc-driver/2.2.4-SNAPSHOT/ 下载它。 (确保它有今天(9 月 21 日)作为构建日期,有可能一些 sourceforge 镜像仍然分发以前的快照。
可以在 Jaybird 跟踪器中找到 2.2.4 中的完整更改列表:Version 2.2.4 .
关于java - 如何使用 hibernate 配置 Jaybird,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904451/
我是 Firebird 的新手,使用其 Java 版本 Jaybird,但无法从数据库(.fdb 文件)连接。问题是这样的: org.firebirdsql.jdbc.FBSQLException:
您知道是否有一种方法可以在 jaybird 的选择查询上使用数据监听器。 例如,我有一个类似的查询 select count (*) from my_table where my_statut='x'
我正在使用 Java 中的 Firebird 数据库。一切正常,但如果数据库文件路径包含国家字符,例如,我在连接到数据库时遇到问题。 “á”或“č”。 异常示例: org.firebirdsql.jd
我有这个 Java 代码: Connection conn = connectionProvider.getConnection(); statement = conn.prepareCall("ex
我需要使用数据库 Firebird,为此我使用 Jaybird 2.2.9。 当我使用 MySQL 驱动程序时,将 ResultSet 转换为 Object 如下: empresa.setBairro
可能我问的是一个常见问题,但我真的不明白我做错了什么,以及当我尝试通过 Jaybird 连接我的 Firebird DB 时我可能会忘记什么。我已将 Jaybird.jar 添加到我的 Java 构建
我正在使用 JDBC 连接到 firebird。 org.firebirdsql.jdbc jaybird-jdk18 3.0.5 当我读取数据时: resultSet.next(); //resul
我是 Linux/Java/Scriptella 的新手,我正在尝试在 Firebird 本地数据库上使用 scriptella 进行 jdbc 连接,但我收到以下错误: 2-dic-2013 1.0
我正在使用 jaybird 2.2.3 和 hibernate 3.5,当我使用向导 hibernate 映射文件和 pojos 数据库时出现以下错误“java.lang.NullPointerExc
我很想看看 Firebird 与 Hibernate 的性能,但我无法让它正确运行。我添加到我的 pom.xml: net.sf.squirrel-sql.thirdparty-non-ma
在以前版本的 jaybird (2.2) 中,我能够对 Firebird 服务器执行服务 API 以获取 Activity 事务标记:OIT、OAT、Next 等。 在 3.0 版中,我找不到正确的方
我正在创建一个连接到 Firebird 数据库并检索一些数据的 Java 应用程序。程序完成,在我的电脑上运行良好。问题是,在我需要运行应用程序的计算机上,数据库位于本地网络中的另一台计算机上,我不知
我确实通过 FBUserManager.add(user) 在 Firebird 中成功创建了一个新用户。我也成功连接到了我已经创建的数据库。我无法知道如何运行查询,我收到消息: “org.fireb
我在 Android 上使用 Firebird 直接 wifi 连接创建了一个应用程序。有时我会收到此错误: FATAL EXCEPTION: AsyncTask #4 java.lang.Runti
我正在 eclipse 中开发一个小程序,当从 eclipse 的 AppletViewer 执行时,它可以正常工作,但是当从 .html 文件执行时,它不会执行 class.forName() 方法
我对使用联合的新 SQL 查询有点困惑。 我使用 jaybird 2.2.8 在 java 应用程序中请求我的 firebird 数据库。通常我使用 MetaData 解析我的结果集 ResultSe
当使用嵌入式 firebird 导出我的 java 项目时,我在控制台中收到以下消息: “在 java.library.path 中没有 jaybird[22[任何版本,我猜]]”。 但它实际上是在我
我一直在开发一个连接到 Firebird 数据库并监听事件的程序。我试图让它与嵌入式数据库一起工作。 EventManager em = new FBEventManager(GDSType.getT
我正在尝试使用 lib jaybird 2.1.6 在 Firebird 数据库的 blob 字段中插入文件。 首先,我在数据库中创建一条记录,然后,使用记录 ID,尝试将文件插入到 blob(子类型
我已将 Wildfly 10 中的 Jaybird 依赖项从 Jaybird 2.2.11 升级到 Jaybird 3.0.0-alpha-1。当我尝试创建连接时,我现在遇到以下异常。 启动后的第一个
我是一名优秀的程序员,十分优秀!