我正在使用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>
答案 0 :(得分:4)
有几种方法可以影响PostgreSQL的默认搜索路径:
您可以在postgresql.conf中全局设置它(添加search_path=ocs
之类的内容并重启)。这是一个生硬的工具,我不推荐它。
您可以在db上设置它。 ALTER DATABASE mydb set search_path=ocs
这不是一个糟糕的选择。它将它限制在数据库中,但使其成为连接到数据库的所有应用程序的默认值,因此可能仍然过于生硬。
您可以在用户上进行设置。 ALTER USER myuser SET search_path=ocs
如果用户连接到多个dbs并且许多没有这个模式,这不能很好地工作.....
您可以在会话中进行设置。连接后,只需发送以下SQL:SET search_path=ocs