我有一个JavaFX桌面应用程序。它通过Hibernate和LAN / WiFi访问远程MySQL数据库。我现在尝试使用Gluon mobile / javafxports以尽可能小的方式移植到Android 8.1。
在Android上运行应用程序时,我遇到以下异常:
Could not parse configuration: commonhibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2105)
编辑:commonhibernate.cfg.xml的内容
<?xml version='1.0' encoding='utf-8'?>
<!--
~ ...
-->
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping resource="Gender.hbm.xml"/>
<mapping resource="Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>
在(Windows-)PC上,应用程序运行良好,没有此异常。
从stackoverflow上的其他帖子我了解到怀疑Hibernate可以/应该在Android上使用。但由于这些帖子是5岁或以上,我想询问是否仍然如此,如果有人可以帮助解决Android上的异常问题?
看起来你缺少连接参数。
这里配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration SYSTEM "classpath://org/hibernate/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">URL_CONNECTION</property>
<property name="connection.username">YOUR_USERNAME</property>
<property name="connection.password">YOUR_PASSWORD</property>
<mapping resource="Gender.hbm.xml"/>
<mapping resource="Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>