일식에서 엔티티에서 MySQL 데이터베이스 (아직 학습)까지 JPA 테이블을 만든 작업 프로젝트가있었습니다. 불행하게도 나는 '테스트'와 '프로덕션'데이터베이스가 있기를 원했기 때문에 잘못된 데이터베이스에 테이블을 만들었습니다. 어떻게 든 그것은 '프로덕션'db에 대한 세부 정보를 얻었습니다. 심지어 선택한 데이터베이스 연결이 테스트 용이었던 것처럼 보입니다. 프로젝트에 약간의 조작을 가하고 특정 (테스트)를 위해 올바른 연결 개체로 연결되도록 만들었습니다. 이클립스 (db)에 db를 핑 (ping)하고 데이터 소스 탐색기에서 db를 볼 수 있습니다. 하지만 지금은 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 'JPA'도구 '>'엔티티에서 테이블 생성 '을 선택하여 테이블을 생성 할 수 없습니다. 모든 것이 작동하는 것처럼 오류없이 생성이 시작되고 완료되지만 어느 데이터베이스에도 테이블이 표시되지 않습니다. (이클립스 데이터베이스 탐색기 또는 명령 줄에서). persistence.xml은 전에 한 테이블을 이미 생성 했으므로 잘되어야합니다.이클립스에서 jpa 테이블을 만들 수 없습니다.
Entity 주석 "Table xxx can not be resolved"에 대한 유일한 오류는 Entity 클래스에 대한 것입니다. 그리고 내가 알기 론, 그것은 테이블에서 생겨나지 않습니다.
다음은 persistence.xml입니다. http://pastebin.com/djPZei90
프로젝트는 Maven 프로젝트이기도하며 SVN을 사용합니다. 의존성은 Eclipse/프로젝트를 위해 maven에 의해 성공적으로로드되었고 SVN에는 아무런 합병증도 없습니다.
Maven 때문에 생산 및 테스트 용으로 persistence.xml 파일 2 개 (로그인 자격 증명과 데이터베이스 이름 변경) 만 있습니다. db 연결이 검사되어 첫 번째 위치에서 잘못된 파일에서로드 된 것일 수 있습니다. (just guessing)
또한 테이블을 생성 할 때 script.sql을 만들려고했습니다. 파일을 찾았지만 완전히 비어있었습니다.
어쨌든 어디서나 테이블을 만들 수없는 문제가 있습니다. 나는 이것으로 완전히 의아해한다. 이 문제를 해결해야 할 힌트가 있습니까?
너무 많은 일반 텍스트. 읽지 않았어. – JMelnik
관계가있을 수는 없지만 persistence.xml은 eclipseLink 제공자 DDL gen 특성을 표시하지만 Hibernate를 jpa 제공자로 지정합니다. 런타임 DDL 생성을 사용하려면 공급자를 org.eclipse.persistence.jpa.PersistenceProvider로 전환하거나 대신 Hibernate 설정을 지정해야합니다. Dali가 실제로이 테이블을 만드는 데 사용한다는 것을 모르기 때문에 그냥 의견을 말하십시오. – Chris
두 공급자 모두 시도했습니다. 변경 없음. –