如何将休眠与 MS Access 结合使用?

2022-09-02 20:46:07

我想将休眠与 MS Access 结合使用。我应该使用哪种方言,您能给我一个使用MS Access的休眠配置文件示例吗?


答案 1

实际解决方案在这里!

在花了1天时间尝试不同的解决方案ODBC,HXTT等之后。我发现这个美丽的:)http://ucanaccess.sourceforge.net/site.html

它再简单不过了:只需将站点中的jar添加到您的项目库和中即可。

元 INF/持久性.xml

<?xml version="1.0" encoding="utf-8"?>
<persistence>
    <persistence-unit name="traderMandate">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
            <property name="hibernate.connection.url" value="jdbc:ucanaccess://C:/MY.accdb;" />
            <property name="hibernate.connection.driver_class" value="net.ucanaccess.jdbc.UcanaccessDriver"/>
            <property name="hibernate.archive.autodetection" value="class" />
        </properties>
    </persistence-unit>
</persistence>          

弹簧配置:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="traderMandate"/>
</bean>

<tx:annotation-driven/>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

你很高兴去。;)


答案 2

对于 MS Access,您将需要 HXTT 中的方言。您需要使用 HXTT 提供的休眠支持包。还有一个示例项目,您可以检查该项目以获取完全正常工作的示例。

下面是一个最小配置示例:

# Hxtt Access dialect sample
hibernate.dialect=com.hxtt.support.hibernate.HxttAccessDialect
hibernate.connection.driver_class=com.hxtt.sql.access.AccessDriver
hibernate.connection.url=jdbc:access:///c:/yourAccessDirectory

PS:如果MS Access不是写在石头上的要求,也许你应该考虑使用其他东西,比如...好吧,任何东西。


推荐