以编程方式为hibernate提供数据源

时间:2014-06-12 01:48:37

标签: java hibernate jpa datasource

我想知道是否有可能以编程方式提供一个DataSource对象来进行hibernate配置?
在我们的系统中,我们构造了一个数据源对象(这是一个Java SE应用程序),我想从简单的JDBC代码转向hibernate。
如果有人知道JPA的答案,那也没关系。

2 个答案:

答案 0 :(得分:3)

您可以使用org.hibernate.cfg.Configuration对象。

例如 - 数据源:

Configuration cfg = new Configuration()
    .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLDialect")
    .setProperty("hibernate.connection.datasource", "java:/MySQLDS");

或司机经理:

Configuration cfg = new Configuration()
    .setProperty("hibernate.connection.driver_class", "org.postgresql.Driver")
    .setProperty("hibernate.connection.url", "jdbc:postgresql://localhost/test")
    .setProperty("hibernate.connection.username", "user")
    .setProperty("hibernate.connection.username", "pass");

请参阅:Hibernate Programmatic Configuration

答案 1 :(得分:0)

是的,有可能。您只需要实现.as-console-wrapper { max-height: 100% !important; top: 0; }

PersistenceUnitInfo

用法:

public class PersistenceOptions implements PersistenceUnitInfo {

    private DataSource jtaDataSource;

    void setJtaDataSource(DataSource jtaDataSource){
        this.jtaDataSource = jtaDataSource;
    }

    @Override
    public DataSource getNonJtaDataSource() {
        return jtaDataSource;
    }

    // ... You will have to implement a bunch of other methods that are used 
    // by Hibernate configuration, like getProperties()
}