2013-06-24 7 views
0

datanucleus-spatial 플러그인에서 Datanucleus를 사용하려고합니다. 내 매핑에 주석을 사용하고 있습니다. 나는 PostGIS와 오라클의 공간을 모두 시도하고있다. 데이터 핵에서 튜토리얼로 돌아가겠습니다. 내가 겪고있는 것은 말이되지 않습니다. 내 개발 환경은 Netbeans 7.x입니다 (필자는 7.0, 7.2 및 7.3을 시도했으며 MAven 2.2.1을 사용했습니다).에있는 Datanucleus 튜토리얼의 Position 클래스를 사용하여 데이터 핵 공간 플러그인을 내 Maven 종속성에 포함시키지 않으면 PostGIS 또는 Oracle에 아무 문제없이 연결하고 데이터를 커밋하며 공간 데이터는 blob (나는 공간 플러그인이 존재하지 않기 때문에 이것을 기대했다). PostGIS를 사용하면 자습서가 잘 작동합니다.공간 확장이 추가되면 Datanucleus에서 오류가 발생하는 이유

org.postgis.Point 클래스를 oracle.spatial.geometry.JGeometry로 대체하고 Oracle 연결을 가리키는 위치 클래스를 수정합니다. 공간이 없으면 점은 다시 얼룩으로 저장됩니다. 공간으로 나는 다음과 같은 예외가 :

java.lang.ClassCastException가 : org.datanucleus.store.rdbms.datasource.dbcp.PoolingDataSource $ PoolGuardConnectionWrapper이 oracle.jdbc.OracleConnection

캐스트 할 수없는

내가 DataNucleus 공간의 멋진 세계에서 누락 뭔가

@PersistenceCapable 
public class Position 
{ 
    @PrimaryKey 
    private String name; 

    @Persistent 
    private JGeometry point; 

    public Position(String name, double x, double y) 
    { 
     this(name, JGeometry.createPoint(new double[]{x, y}, 2, 4326)); 
    } 

    public Position(String name, JGeometry point) 
    { 
     this.name = name; 
     this.point = point; 
    } 

    public String getName() 
    { 
     return name; 
    } 

    public JGeometry getPoint() 
    { 
     return point; 
    } 

    @Override 
    public String toString() 
    { 
     return "[name] "+ name + " [point] "+point; 
    } 
} 

있습니까 : 수정 된 클래스는 다음과 같습니다? 공간이 추가 될 때마다 왜 실패합니까? 주석 달기에도 JDO XML 파일이 필요합니까? 튜토리얼에 주석이 표시되지 않습니까? 자습서에 표시된 jdo xml 파일이 필요하고 이러한 오류가 발생하는 이유는 어디에 넣어야합니까? 나는 현재 프로젝트에서 3 주 뒤쳐져 있으며 곧 수정되지 않으면 최대 절전 모드로 전환하려고합니다.

답변

0

스택 추적을 제공하지 않으므로 문제를 일으키는 DBCP 이외의 정보를 전달할 수 없으므로 지원되는 다른 연결 풀을 쉽게 사용할 수 있습니다. 일부 Oracle "Connection"객체가 다른 JDBC 연결에 캐스트 될 수 없다면 Oracle JDBC 드라이버는이 버전의 DBCP와 다른 JDBC 버전을위한 것일 수 있습니까? (그리고 일부 JDBC 버전은 이전 버전과의 호환성을 깨뜨린 다). 게시물의 어떤 정보도 로그를 확인하거나 배제하기 위해 제공되지 않습니다 (로그가 그 중 일부를 알려줍니다). 이미 말했듯이, 다른 연결 풀을 사용할 수 있습니다.

DN 공간 튜토리얼은 self-contained이며 다운로드 및 GitHub 링크가 있으며이를 사용하면 JDO XML 파일을 어디에 배치할지 정의합니다. 튜토리얼은, 규정, 난 당신을 찾을 수 datanucleus - 지리 3.2.7 버전를 사용하는 것이 좋습니다 cannot be cast to oracle.jdbc.OracleConnection 오류를 방지하기 위해 마지막으로

, this 읽기 가치가있을 수 있습니다 ...