我的项目有问题,我尝试在不使用hibernate.cfg.xml文件的情况下配置hibernate,我这样做:
use_frameworks!
pod 'SwiftR'
它无法看到我的构建路径中的OJDBC6驱动程序,当我使用hibernate.cfg.xml文件时,我看到了当我尝试避免使用文件时,我得到了这个:
警告:HHH000181:假设应用程序将提供连接,则没有遇到任何适当的连接提供程序 lut 12,2016 7:26:06 PM org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator initiateService 警告:HHH000342:无法获取与查询元数据的连接:应用程序必须提供JDBC连接 2016年1月12日下午7:26:06 org.hibernate.dialect.Dialect
我做错了什么?我尝试过使用这两个jdbc驱动程序类: oracle.jdbc.driver.OracleDriver 和 oracle.jdbc.OracleDriver
仍然没有运气:(
答案 0 :(得分:0)
我的最后一次尝试,使用hibernate 5,取自它所说的aPI和手册。
protected void setUp() throws Exception {
// A SessionFactory is set up once for an application!
final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties() // configures settings from Configuration object
.build();
try {
sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
}
catch (Exception e) {
// The registry would be destroyed by the SessionFactory, but we had trouble building the SessionFactory
// so destroy it manually.
StandardServiceRegistryBuilder.destroy( registry );
}
This是hibernate 5的快速入门,而不是单独调用configure,您需要传递使用属性创建的配置对象。
答案 1 :(得分:0)
我找到了解决方案:
更改此内容:
.setProperty("connection.url", "jdbc:oracle:thin:@"+hostname)
.setProperty("connection.username", username)
.setProperty("connection.password", password)
对此:
.setProperty("hibernate.connection.url", "jdbc:oracle:thin:@"+hostname)
.setProperty("hibernate.connection.username", username)
.setProperty("hibernate.connection.password", password)
解决了这个问题。也许这将有助于将来的某些人。