1

我正在使用休眠 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>
4

1 回答 1

4

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

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

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

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

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

于 2013-06-05T14:02:21.410 回答