Java 冬眠+;嵌入式数据库-安装
我使用Hibernate创建了Java应用程序,配置如下:Java 冬眠+;嵌入式数据库-安装,java,database,hibernate,Java,Database,Hibernate,我使用Hibernate创建了Java应用程序,配置如下: <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306 /bee</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
<property name="connection.username">root</property>
<property name="connection.password"/>
<property name="hibernate.connection.charSet">UTF-8</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.useUnicode">true</property>
<mapping resource="DatabaseMapping.hbm.xml"/>
</session-factory>
</hibernate-configuration>
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306 /蜜蜂
org.hibernate.dialogue.mysqldialogue
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
根
UTF-8
UTF-8
真的
当Iam使用jdbc时,一切正常:mysql://localhost...,但现在我需要将数据库嵌入到我的应用程序中。我应该使用哪个数据库?我需要有我的所有数据存储和加载后,启动应用程序,更新数据,保存,删除它。我使用HQL查询或SQL查询
嵌入数据库的最简单方法是什么?我不想更改我的查询。只更改hibernate配置并将其设置为嵌入式数据库是可以的,是吗?类似hibernate的ORM的优点之一是保护您免受数据库差异的影响。您可以使用以下任一项作为嵌入式DB解决方案。只需更改hibernate cfg文件中的方言、驱动程序和URL即可 看一下在嵌入式模式下使用数据库
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">org.h2.Driver</property>
<property name="hibernate.connection.url">jdbc:h2:~/test</property>
<property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
<property name="connection.username">sa</property>
<property name="connection.password"/>
<property name="hibernate.connection.charSet">UTF-8</property>
<property name="hibernate.connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.default_schema">PUBLIC</property>
<mapping resource="DatabaseMapping.hbm.xml"/>
</session-factory>
</hibernate-configuration>
org.h2.Driver
jdbc:h2:~/test
org.hibernate.dial.h2方言
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
sa
UTF-8
UTF-8
真的
公开的
< /代码> 如果您不想更改查询,请考虑MySQL MXJ(嵌入式MySQL)
它尚未处于积极开发阶段(感谢Oracle)。但是它是完全可用的,并且连接器是开源的。嵌入不同版本的mysql很简单,但是最新的mxj连接器嵌入了5.5.9我无法让Hibernate使用SQLite,这是我下一个项目的第一个数据库选项。有人能让这个组合起作用吗?如果是这样的话,请发布一系列的步骤。同时,我将尝试在Hibernate工作的情况下获取H2。谢谢据我所知,sqlite不再受hibernate支持。我花了很多时间试图让它们工作,但没有成功。MariaDB与mysql兼容,有一个项目可以使其嵌入Java项目中: