0

I try to connect to a postgresql database using hibernate in Java 1.8.

My hibernate.cfg.xml has variables that I defined in a db.properties file.

I try several ways, but it doesn't work for me.

My code:

    File f = new File("hibernate.cfg.xml");
    java.util.Properties properties = new Properties();
    try {
        properties.load(new FileInputStream("db.properties"));
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    System.out.println(properties.getProperty("db.addr"));
    System.out.println(properties.getProperty("db.port"));

    Configuration configuration = new Configuration(); configuration.configure(f).addProperties(properties);

    ServiceRegistryBuilder registry = new ServiceRegistryBuilder();
    registry.applySettings(configuration.getProperties());
    ServiceRegistry serviceRegistry = registry.buildServiceRegistry();

    // loads configuration and mappings
    SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);


       // obtains the session
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    .....


    session.getTransaction().commit();
    session.close();

My hibernate.cfg.xml is below:

    <!-- JDBC Properties -->

    <property name="connection.driver_class">
        org.postgresql.Driver
    </property>
    <property name="dialect">
        org.hibernate.spatial.dialect.postgis.PostgisDialect
    </property>
    <property name="connection.url">
        jdbc:postgresql://${db.addr}:${db.port}/metadata
    </property>
     ..........

........

The configuration still uses ${db.addr}:${db.port}

[main] DEBUG org.hibernate.cfg.Configuration - connection.url=jdbc:postgresql://${db.addr}:${db.port}/metadata

Did I miss something?

Thanks much

Springgrass
  • 41
  • 1
  • 5

0 Answers0