2014-02-25 4 views
0

moqui의 많은 엔티티에는 여러 필드가 결합 된 기본 키가 있습니다. 일부 시나리오에서는 사람들이 기본 키의 필드 중 하나를 업데이트하려고 할 수 있습니다. 예 : productId, productContentTypeEnumId, contentLocation, fromDate의 기본 키가있는 ProductContent 엔티티에 저장되는 제품 이미지의 경우 사람들은 하나의 이미지를 세부 사항에서 큰 것으로 업데이트하려고 할 수 있습니다. 실제로 엔티티 엔진에서 moqui로 수행하는 방법을 찾지 못했습니다. 아직.Moqui에서 기본 키의 일부인 필드를 업데이트하는 방법은 무엇입니까?

한 가지 해결책은 삭제 한 다음 새 것을 추가하는 것입니다. 그러나 이것은 이상하게 들린다.

답변

1

일부 프로젝트 구조를 명확히하기 위해 : ProductContent 엔티티는 실제로 Moqui Framework가 아닌 Mantle Business Artifacts 프로젝트의 일부입니다. Mantle Business Artifacts는 Moqui 생태계의 핵심 부분입니다.

여러 기본 키 필드가있는 항목의 경우 이는 데이터베이스 제약 조건입니다. 즉, PK 필드를 업데이트 할 수 없습니다. 새 레코드를 만들어야하며 다른 레코드로 수행하는 작업은 응용 프로그램의 요구 사항 (만료, 삭제, 종료 등)에 달려 있습니다.

자동으로 이와 같은 작업을 수행하기 위해 Entity Facade에 뭔가가 추가 될 수 있지만 복잡 할 수 있습니다. 레코드를 식별하기 위해 코드는 PK 필드의 이전 값과 새 값을 알고 있어야하며 이전 레코드로 처리해야합니다.

일반적인 사용 사례에 명확한 패턴이 나타나지 않는 한 (14 년 동안의 ERP 작업에서 만료 패턴이 가장 일반적으로 많이 사용되었지만 그 중 하나를 생각해 볼 수는 없습니다. 불변의 ContactMech 레코드 등), 이는 명시 적 서비스 코드에 의해 가장 잘 수행되고 도구를 통해 자동으로 수행되지는 않습니다.

특정 패턴이있는 경우 Entity Facade의 확장을 쉽게보고 싶으면 LinkedIn Group에 대한 토론을 시작하는 것이 좋습니다 (질문을위한 StackOverflow 및 토론을위한 것은 아닙니다).