Hibernate + 嵌入式数据库 - 设置

cer*_*ver 5 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://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>
Run Code Online (Sandbox Code Playgroud)

当我使用 jdbc:mysql://localhost... 时一切正常,但现在我需要将数据库嵌入到我的应用程序中。我应该使用哪个数据库?我需要在启动应用程序、更新数据、保存、删除后存储并加载所有数据。我使用 HQL 查询或 SQL 查询。

使数据库嵌入的最简单方法是什么?我不想改变我的查询。只更改休眠配置并将其设置为嵌入式数据库就可以了,这可能吗?

Ara*_*ram 5

ORM 之类的 Hibernate 的优势之一是保护您免受数据库差异的影响。您可以使用以下任何一种作为嵌入式数据库解决方案。只需更改 hibernate cfg 文件中的方言、驱动程序和 URL。

  1. H2
  2. SQLite
  3. 数据库

  • 我无法让 Hibernate 与 SQLite 一起工作,这是我下一个项目的第一个数据库选项。有没有人能够让这种组合发挥作用?如果是这样,请发布一系列步骤以执行此操作。同时,我将尝试让 H2 与 Hibernate 一起工作。谢谢! (2认同)