2013-05-26 2 views
0

JPA 데이터 소스 저장 위치가 기본값이고 특정 위치를 지정하는 방법을 찾으려고했지만 아무것도 찾을 수 없었습니다. 데이터베이스가 실행되지 않기 때문에JPA 데이터 소스 저장 위치

  1. :

    나는 톰캣에서 데이터베이스가 두 가지 이유로 나를 퍼즐 톰캣 디렉토리의 bin/내부 데이터 소스의 이름을 가진 디렉토리 내에 저장되는 것을 발견 bin/

  2. 안에 있으면 안됩니다. 모든 웹 응용 프로그램이 동일한 bin/디렉토리를 공유하므로 같은 이름이지만 두 개의 서로 다른 웹 응용 프로그램의 두 데이터 소스가 충돌합니다.

올바르게 알고 있으면 데이터 소스는 실제 JPA 기본 데이터베이스를 나타내지 만 영속성 단위는 데이터 소스 내부에 저장된 권한을 그룹화합니다. 그래서 데이터 소스의 속성을 찾고 지속성 유닛의 속성을 찾아야합니다.

==

지금까지 내가이 persistence.xml 내부의 지속성 단위 이름을 선언 한 == 편집, 나는이

을 다음과 같이 META-INF는/context.xml에 안쪽이 퍼시스턴스 유닛의 구성을 추가 한

<Context path="/exampleWeb"> <ResourceLink global="ds/exampleDS" name="ds/exampleDS" type="javax.sql.DataSource"/> </Context> 

사용할 라이브러리 유형에 따라 결정되는 유형은 eclipselink-2.4.1.jar뿐입니다.

내부의 web.xml 내가 가진 :

<resource-ref> 
    <description>DB Connection</description> 
    <res-ref-name>ds/exampleDS</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
    </resource-ref> 

== 편집 2 ==

내부 Tomcat의 server.xml을 나는 귀하의 질문은 매우 명확하지 않다

<Resource 
auth="Container" 
driverClassName="org.apache.derby.jdbc.EmbeddedDriver" 
maxActive="20" 
maxIdle="10" 
maxWait="-1" 
name="ds/exampleDS" 
type="javax.sql.DataSource" 
url="jdbc:derby:exampleDB;create=true" 
    /> 

답변

1

이 . Tomcat이나 JPA는 데이터베이스와 함께 제공되지 않습니다.

사용하려는 데이터베이스 (PostgreSQL, MySQL, Oracle, DB2, HSQLDB 등)를 선택하고 설치하고 스키마를 구성해야합니다 (설치 중에 데이터가 있어야하는 위치를 선택해야합니다. 저장된) 다음 데이터베이스의 URL로 Tomcat 및/또는 JPA를 구성하십시오.

데이터를 현재 디렉토리에 저장하는 가벼운 데이터베이스를 사용하고있는 것처럼 보입니다. 현재 데이터는 Tomcat/bin 디렉토리이므로 Tomcat이 시작되었습니다. 이것은 데이터베이스 및 구성의 선택에 따라 다르며 표준 상황이 아닌 상황입니다.

Tomcat 및 JPA로 데이터베이스를 구성하는 방법에 대한 도움말을 보려면 사용중인 데이터베이스를 알려주고 현재 구성을 표시하십시오.

+0

구성 정보를 추가했습니다. –

+0

여전히 사용중인 데이터베이스와 구성 방법이 표시되지 않습니다. 이것은 tomcat의 server.xml 파일에 정의되어야합니다. 이 구성은 어디에서 가져 왔습니까? 누가 그것을 썼고 무엇을 기반으로 했습니까? –

+0

감사합니다. Tomcat의 server.xml에 누락 된 구성이 있습니다. 나는 persistence 설정이 webapp 설정 파일 안에 있다고 생각했다. 대신 Tomcat 설정 안에 존재한다. –

관련 문제