首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgresql + jpa + persistence.xml

postgresql + jpa + persistence.xml
EN

Stack Overflow用户
提问于 2014-01-28 00:34:01
回答 1查看 1.3K关注 0票数 0

我在使用PostgreSQL和JPA时遇到了问题。

当我尝试在glassfish上执行我的应用程序时,我得到了这个错误:

代码语言:javascript
复制
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依赖项:

代码语言:javascript
复制
        <dependency>
        <groupId>postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>9.1-901-1.jdbc4</version>
        </dependency>

请帮帮我,谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-01-28 00:42:46

模式是使用postgres中的"search_path“变量指定的。

要解决您的问题,您有两种解决方案:

将搜索永久添加到您的连接使用的用户:

代码语言:javascript
复制
ALTER user username set search_path=yourschema ;

在jdbc连接中临时添加search_path (我觉得很难看)

代码语言:javascript
复制
   set search_path=yourschema;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21386264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档