2015-01-05 1 views
0

프로젝트를 JDBC를 사용하여 Datanucleus의 JDO 구현으로 마이그레이션하려고합니다.Datanucleus JDO : 어떻게 문자열 집합을 저장할 수 있습니까?

이전 아키텍처에서는 데이터베이스에서 여러 문자열을 읽는 클래스가 있습니다.이 테이블에는 고유 한 제약 조건이있는 열 하나만 포함되어 있습니다. 일부 문자열은 고유 제약 조건과 함께 작동하며 일부 작업은 해당 문자열에서 삭제됩니다. 테이블을 작성하여 다른 테이블에 쓰거나 작업 결과에 따라 테이블을 남겨 둡니다.

스키마 생성을 사용하고 싶지 않습니다. 이전 테이블의 데이터를 마이그레이션해야하기 때문에 (어렵지 않을 수도 있음) 데이터베이스 구조를보다 잘 제어하고 싶습니다.

그래서 질문은 문자열 테이블에 매핑되는 데이터 개체를 작성하고 요청시 문자열 집합을 반환하거나 작업자 개체를 데이터 개체와 작업자가 혼합 된 형태로 변환하는 방법입니다 그 테이블에서 문자열을 읽을 수 있습니까? 아니면 완전히 다른 접근 방식을 취하고 있습니까?

답변

1

문자열의 설정은 예를 들어 내가 다음 몇 가지를 선택할 수있는 방법

SELECT FROM Person WHERE addresses.contains(addr) && addr.matches(somePattern) 
+0

를 들어, 당신은 같은 쿼리 JDOQL의 양식을 사용할 수 있습니다 http://www.datanucleus.org/products/accessplatform_4_0/jdo/orm/one_to_many_set.html#join_nonpc

이 페이지 다음 JDO를 사용하여 정의 쉽게 충분하다 DB에서 문자열의? Sth. like "my_word_table에서 단어 선택 (예 : 'myword %'와 같은 단어);" 세트에 그 값들이 있습니까? – Ibolit

+0

답변에 대한 업데이트를 참조하십시오. 예를 들어 –

+0

의 JDO 사양을 찾을 수 있었지만 그것을 찾지 못했습니다. 그러나 그것이 내가 찾고있는 것이 아니기 때문에 받아들이지 않았습니다. 하나의 필드 "단어"로 새로운 클래스를 작성한 다음 문자열을 포함하는 내 테이블에 "매핑"했습니다. 그 방법은 내 패턴과 일치하는 래핑 된 문자열을 선택할 수 있습니다. – Ibolit

관련 문제