我已使用此配置使用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>
当我使用jdbc:mysql:// localhost ...时,一切正常,但现在我需要在我的应用程序中嵌入数据库。我应该使用哪个数据库?我需要存储所有数据并在启动应用程序,更新数据,保存,删除后加载它。我使用HQL查询或SQL查询。
嵌入数据库的最简单方法是什么?我不想改变我的疑问。可以只更改hibernate配置并将其设置为嵌入式数据库,这是可能的吗?
答案 0 :(得分:4)
像Hibernate这样的ORM的一个优点是可以保护您免受数据库差异的影响。您可以使用以下任何一种作为嵌入式数据库解决方案。只需在hibernate cfg文件中更改方言,驱动程序和URL即可。
答案 1 :(得分:1)
Hava了解在嵌入模式下使用H2数据库
<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>
答案 2 :(得分:0)
如果您不想更改查询,请考虑mysql-mxj(嵌入式mysql)http://dev.mysql.com/doc/connector-mxj/en/connector-mxj.html
它没有积极开发(感谢Oracle)。但是完全可用并且连接器是开源的。嵌入不同版本的mysql是微不足道的,但最新的mxj连接器嵌入了5.5.9