JPA 데이터 소스 저장 위치가 기본값이고 특정 위치를 지정하는 방법을 찾으려고했지만 아무것도 찾을 수 없었습니다. 데이터베이스가 실행되지 않기 때문에JPA 데이터 소스 저장 위치
- :
나는 톰캣에서 데이터베이스가 두 가지 이유로 나를 퍼즐 톰캣 디렉토리의 bin/내부 데이터 소스의 이름을 가진 디렉토리 내에 저장되는 것을 발견 bin/
- 안에 있으면 안됩니다. 모든 웹 응용 프로그램이 동일한 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"
/>
구성 정보를 추가했습니다. –
여전히 사용중인 데이터베이스와 구성 방법이 표시되지 않습니다. 이것은 tomcat의 server.xml 파일에 정의되어야합니다. 이 구성은 어디에서 가져 왔습니까? 누가 그것을 썼고 무엇을 기반으로 했습니까? –
감사합니다. Tomcat의 server.xml에 누락 된 구성이 있습니다. 나는 persistence 설정이 webapp 설정 파일 안에 있다고 생각했다. 대신 Tomcat 설정 안에 존재한다. –