2011-12-14 1 views
0

저는 Eclipse 1.1에서 Roo 1.1.5를 사용하고 있습니다. Eclipse에서 새로운 Spring Roo Project를 만들고 Roo Shell에 다음과 같이 입력합니다. 다음 :Roo 1.1.5 수퍼 기본 응용 프로그램은 버그가 있습니다

persistence setup --provider DATANUCLEUS --database H2_IN_MEMORY 
entity --class ~.domain.Task 
field string --fieldName description --notNull --sizeMin 3 --sizeMax 512 
field boolean --fieldName completed --notNull 
controller all --package ~.controller 

more verbose description is in my blog 위의 내용은 기본적으로 내가하는 일입니다.

웹 브라우저에서 작업을 생성하고 목록을 만들 수 있지만 작업을 편집 (업데이트)하려고하면 새 중복 작업이 만들어집니다 ...이 버그가 미끄러질 수 있습니까? 아니면 내가 잘못하고있는 것인가?

UPDATE : 빠른 것으로 명령 줄에서 스크립트를 실행하고 모든 지속성 제공 업체에서 시도했습니다. H2 버기 어플리케이션

타나 Datanucleus + + H2 결과 WITH

DATANUCLEUS AND DATANUCLEUS_2 중복 기록의 결과 업데이트 :

$ roo 
roo> project --topLevelPackage task --java 6 --projectName Task 
roo> persistence setup --provider DATANUCLEUS --database H2_IN_MEMORY 
roo> entity --class ~.domain.Task 
roo> field string --fieldName description --notNull --sizeMin 3 --sizeMax 512 
roo> field boolean --fieldName completed --notNull 
roo> controller all --package ~.controller 
roo> exit 
$ mvn tomcat:run #or mvn jetty:run 

여기 결과이다.

는 EclipseLink 함께 H2

다음 유물을 분석 할 수 없습니다

빌드 실패 : org.eclipse.persistence : EclipseLink가 : 항아리 : 2.2.0, org.eclipse.persistence :는 javax.persistence : 항아리 : 2.0.3 : 스프링 받는다는 릴리스 (http://maven.springframework.org/release)

는 OpenJPA에서 2.2.0 : EclipseLink가 : 항아리 유물 org.eclipse.persistence을 찾을 수 없습니다 H2와 함께

작동, 경고와 함께. [:/홈/스테파노/작업/task4/대상/클래스/파일] 루트 URL, 이름 'persistenceUnit': - : 예 PersistenceUnitInfo와 ClassTransformer를 등록하는 동안 오류가 발생했습니다

는 [주] openjpa.Runtime 경고 . 오류가 발생했습니다. 그것을 보려면 openjpa.Runtime 로그 수준을 TRACE로 설정하십시오. 로드 시간 클래스 변환은 사용할 수 없습니다. H2

함께

HIBERNATE 내가 스크립트를 tryed 한

project --topLevelPackage task --java 6 --projectName Task 
persistence setup --provider DATANUCLEUS --database GOOGLE_APP_ENGINE \ 
    --applicationId appid 
entity --class ~.domain.Task 
field string --fieldName description --notNull --sizeMin 3 --sizeMax 512 
field boolean --fieldName completed --notNull 
controller all --package ~.controller 
exit 
mvn gae:run 

+0

DataNucleus에 문제가있는 부분은 (다른 설명과 마찬가지로) 다른 모든 부분과 마찬가지로 JPA TCK를 분명히 통과하기 때문에 볼 수 없습니다. 그렇지 않다면 실제 모델 클래스와 퍼시스턴스 코드로 나누십시오. 그러면 * us *가 주석을 달 수있는 기반이됩니다 (Spring과는 반대로, 현재 당신이 제시하고있는 것과는 반대되는 것입니다. DataNucleus의 경우에는 ... 어떤 인수로 호출되는지 제어하기 때문에). – DataNucleus

+0

@DataNucleus 버그가 DataNucleus에 있는지 알 수 없습니다. (실제로 질문의 본문이이 인상을주었습니다. 명확하게 편집했습니다.) 상호 작용 H2 - DataNucleus - Roo에 버그가있어 그 버그가 어딘가에 있습니다. 나는 그것을 무너 뜨릴 것이고 당신에게 알려줄 것이다. – stivlo

+0

당신은 아마도이 https://jira.springsource.org/browse/ROO-1467을 타격하고 있습니까? JPA 스펙은 해석에 많은 것들을 열어 둡니다. DataNucleus 3에는 병합이 모든 우발적 인 사건을 처리 할 수 ​​있도록 다양한 유형의 행동을 취할 수있는 플래그가 있습니다. – DataNucleus

답변

1

아마도 JIRA ROO-1467이 맞습니까? JPA 스펙은 해석에 많은 것을 개방합니다. DataNucleus 3에는 병합이 모든 우발적 인 사건을 처리 할 수 ​​있도록 다양한 유형의 행동을 취할 수있는 플래그가 있습니다.

+0

Spring 1.2.0이 릴리스되었습니다. DataNucleus 3.0.4를 사용 중이며'datanucleus.allowAttachOfTransient'를 추가하려고 시도했지만 여전히 작동하지 않습니다. 나는 [follow up question] (http://stackoverflow.com/questions/8553495/roo-1-2-0-basic-application-with-datanucleus-still-buggy)을 게시했습니다. – stivlo

0

... 구글 애플 리케이션 엔진

작품

DATANUCLEUS 작동 (하지만 대신에 최대 절전 모드를 사용 몇 가지 발견되지 않은 종속성 때문에 데이터 핵). 그러나 그것은 어떤 문제도없이 나를 위해 일했습니다.

문제는 데이터 핵이 관련되어 있거나이 스크립트의 "외부"에있을 수 있습니다.

+0

일 수 있습니다. 이제 최대 절전 모드로 시도해보고, 고마워요. – stivlo

+0

내 질문을 업데이트했습니다 ... 사용 가능한 모든 공급자를 시도했습니다. – stivlo

관련 문제