我在使用PostgreSQL和JPA时遇到了问题。
当我尝试在glassfish上执行我的应用程序时,我得到了这个错误:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: no schema has been selected to create in
Error Code: 0
Call: CREATE TABLE CABINET (ID INTEGER NOT NULL, PRIMARY KEY (ID))
Query: DataModifyQuery(sql="CREATE TABLE CABINET (ID INTEGER NOT NULL, PRIMARY KEY (ID))")
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:331)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:895)那么,我如何为JPA指定模式,以便它能够使用postgresql呢
注意:我已经添加了postgresql maven依赖项:
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>请帮帮我,谢谢
发布于 2014-01-28 00:42:46
模式是使用postgres中的"search_path“变量指定的。
要解决您的问题,您有两种解决方案:
将搜索永久添加到您的连接使用的用户:
ALTER user username set search_path=yourschema ;在jdbc连接中临时添加search_path (我觉得很难看)
set search_path=yourschema;https://stackoverflow.com/questions/21386264
复制相似问题