2014-03-13 5 views
0

나는 thebiz에서 일하고 있습니다. 그냥 테이블에서 자동 생성 시퀀스 ID가있는 필드가있는 레코드를 삭제하려고합니다. 태그를 사용하여 간단한 방법으로 레코드를 삭제하려고합니다. 그러나 그것은 오류 아래에 표시되고 :자동으로 생성 된 시퀀스 ID 필드가있는 레코드를 삭제할 수 없습니까?

[java] 2014-03-13 11:23:22,584 (http-bio-0.0.0.0-8080-exec-9) [    Log.java:83 :INFO ] 
[java] 2014-03-13 11:23:22,599 (http-bio-0.0.0.0-8080-exec-9) [  GenericEntity.java:147:ERROR] 
[java] ---- runtime exception report -------------------------------------------------- 
[java] Exception: java.lang.IllegalStateException 
[java] Message: **This object has been flagged as immutable (unchangeable), probably because it came from an Entity Engine cache. Cannot modify an immutable entity object.** 
[java] ---- stack trace --------------------------------------------------------------- 
[java] java.lang.IllegalStateException: This object has been flagged as immutable (unchangeable), probably because it came from an Entity Engine cache. Cannot modify an immutable entity object. 
[java] org.ofbiz.entity.GenericEntity.assertIsMutable(GenericEntity.java:147) 
[java] org.ofbiz.entity.GenericEntity.removedFromDatasource(GenericEntity.java:276) 
[java] org.ofbiz.entity.GenericDelegator.removeValue(GenericDelegator.java:1081) 
[java] org.ofbiz.minilang.method.entityops.RemoveValue.exec(RemoveValue.java:66) 
[java] org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:311) 
[java] org.ofbiz.minilang.SimpleMethod.exec(SimpleMethod.java:458) 
xxxxxxxxx xxxxx ................. 

우리는 DB 테이블에서 레코드의 유형을 (사람들이 자동 시퀀스 ID를 생성 한) 삭제할 수 없습니다?

답변

0

내 자신이 해결책을 찾았습니다. 사실, 레코드를 검색 할 때 use-cache가 기본적으로 "true"인 "entity-one"태그를 사용했습니다. 그래서 값 use-cache를 false로 변경했습니다. 따라서 레코드를 삭제할 수 있습니다. 아래는 내가 검색 기록 동안 사용되는 조각은 다음과 같습니다

<entity-one value-field="xxx" entity-name="Yyyyy">...</entity-one> 
<remove-value value-field="xxx"/> 

가 지금은 아래와 같이 false로 사용 캐시 속성을 지정 : 그것은 잘 작동하고

<entity-one value-field="xxx" entity-name="Yyyyy" **use-cache="false"**>...</entity-one> 
<remove-value value-field="xxx"/> 

. 감사합니다.

1

변경 불가능한 인스턴스를 먼저 캐시에서 복제하여 수정해야합니다. 작은 비트 설명이있는 Here is a thread.

관련 문제