존재하지 않는 경우 만들기 IMHO는 ORM
이 이미 존재하지 않는 경우에만 테이블에 레코드를 생성 함을 의미합니다.Android ORMLite 및 존재하지 않는 경우 생성 로직
ORMLite는 기본적으로 이러한 논리를 사용한다고 생각했습니다. 하지만 DAO
의 create
메서드는 단지 레코드의 중복을 만듭니다. createOrUpdate
및 createIfNotExist
메서드를 시도했지만 원하는대로 작동하지 않습니다.
다른 SO question이 있는데 createOrUpdate
은 DTO
에 기본값 (null 또는 0)이있는 ID 확인을 수행한다고 설명합니다.
내 자신의 DAO
을 생성하고 ORMLite의 BaseDaoImpl
클래스에서 상속 받고 createIfNotExist
메서드를 재정의해야합니까? 이것은 지금까지 내 마음에 오는 유일한 아이디어입니다. 바람직한 논리를 실현하는 더 좋은 방법이 있습니까?
편집이
내가 정의 DAO
의 createIfNotExist
메소드를 오버라이드 (override)하려고하지만 만 직접 수행 할 수 있습니다에 전화 것 같다 것, 즉 최상위 테이블이 외래 키의 createIfNotExist
의 호출을 수행하지 않는 것입니다 .
CRUD
인터페이스를 내 자신의 메서드로 정의하고 BaseDaoImpl
메서드에서 구현해야하는 것처럼 보입니다.