Hibernate Postgresql架构

时间:2013-05-03 16:06:18

标签: hibernate postgresql schema

我正在使用hibernate POJO类和映射访问Postgresql数据库。现在我添加了一个名为“OCS”的新模式,无法生成类和映射。这是我的hibernate.cfg.xml

 <property name='hibernate.connection.driver_class'>org.postgresql.Driver</property>
  <property name='hibernate.connection.url'>jdbc:postgresql://test/test_mytest</property>

  <property name='hibernate.connection.username'>username</property>
  <property name='hibernate.connection.password'>password</property>
  <property name='hibernate.connection.pool_size'>10</property>
  <property name='show_sql'>true</property>
  <property name='dialect'>org.hibernate.dialect.PostgreSQLDialect</property>

1 个答案:

答案 0 :(得分:4)

有几种方法可以影响PostgreSQL的默认搜索路径:

  1. 您可以在postgresql.conf中全局设置它(添加search_path=ocs之类的内容并重启)。这是一个生硬的工具,我不推荐它。

  2. 您可以在db上设置它。 ALTER DATABASE mydb set search_path=ocs这不是一个糟糕的选择。它将它限制在数据库中,但使其成为连接到数据库的所有应用程序的默认值,因此可能仍然过于生硬。

  3. 您可以在用户上进行设置。 ALTER USER myuser SET search_path=ocs如果用户连接到多个dbs并且许多没有这个模式,这不能很好地工作.....

  4. 您可以在会话中进行设置。连接后,只需发送以下SQL:SET search_path=ocs