2013-05-17 3 views
0

Dao<T,ID> 인터페이스, ... 등의 업데이트를 작성, 많은 DAO의 메소드를 제공 등업데이트

I read 업데이트하는 방법

이물질이나 외국에 대한 변경 사항을 저장하지 않습니다

컬렉션.

새로 고침 방법으로 외부 개체 또는 외부 개체의 변경 사항을 저장 했습니까?

일반적으로 updaterefresh 방법의 주요 차이점은 무엇입니까?

+0

@ 그레이, 미안 해요. –

답변

6

새로 고침 방법으로 외부 개체 또는 외부 개체의 변경 사항을 저장 했습니까?

번호

일반적으로, 갱신 및 갱신 방법 사이의 주요 차이점은 무엇입니까?

한숨. update(...) 메서드는 메모리에있는 개체의 변경 내용을 데이터베이스에 씁니다. ORMLite Javadocs에서 인용 해 드리겠습니다. update(...) is :

개체의 필드를 데이터베이스에 저장하십시오. 개체를 변경 한 경우 이러한 변경 사항을 데이터베이스에 유지하는 방법입니다. 이 메소드를 사용하여 id 필드를 업데이트 할 수 없습니다 (updateId (T, ID) 참조).

반면에 refresh() 메서드는 메모리에서 개체를 데이터베이스에서 업데이트합니다. refresh(...) javadocs은 다음과 같습니다.

개체의 ID 및 데이터베이스의 각 필드 값에 대한 복사본을 쿼리하여 데이터 매개 변수를 새로 고칩니다. 지속 된 필드로 변경된 모든 로컬 객체는 덮어 씁니다. 데이터베이스가 업데이트되면 로컬 객체를 최신으로 유지합니다.

update(...) 메서드는 다른 개체에 대한 변경 내용을 저장하지 않는다고 말하면 해당 개체가 다른 테이블에서 유지 관리되기 때문입니다. 주문 모음이있는 Account이있는 경우 account에서 업데이트를 호출하면 해당 필드 만 업데이트됩니다. 주문 중 하나를 변경 한 경우 주문 테이블의 주문을 업데이트하려면 OrderDao을 사용해야합니다.