우리는 응용 프로그램에 세 가지 계층이 있습니다. 외부 API를 제공하는 서비스 계층. 비즈니스 로직을위한 BO 계층과 데이터베이스 연결을위한 DAO 계층
파일을 업데이트 할 때마다 '마지막으로 수정 한 날짜'와 같이 폴더에서 무언가를 변경하려고합니다. 이것은 거래에서 이루어져야합니다. 성공하면 파일과 폴더가 모두 편집됩니다. 또는 오류가 발생하여 트랜잭션이 롤백되므로 두 개체가 모두 이전 상태에 있습니다.
"파일을 편집 할 때 폴더 편집"작업은 순수한 비즈니스 논리입니다. 이것은 BO 계층에 속한다는 의미입니다. 그러나 데이터베이스에 Objectify를 사용하므로 트랜잭션을 시작하려면 ofy (). transact (...)를 호출해야합니다. BO 계층에서이 함수를 호출하면 비즈니스 계층에 데이터베이스 특정 호출 (개체화)이 있으므로 설계가 중단됩니다.
이 문제에 대한 깨끗한 해결책은 무엇입니까?
FileBO
전화를 걸 수 없습니까FolderBO.edit(newDate)
?