0
GreenDAO
を初めて実装しました。他の多くの質問を読んで、私はそれらのすべてをフォローしていると感じています。GreenDAOは@Uniqueフィールドを尊重していません
私の簡単なエンティティ:
@Entity(
indexes = {
@Index(value = "searchTerm", unique = true)
}
)
public class SearchTerm
{
@Id private Long id;
// @Unique have also tried this
// @Index(unique = true) have also tried this
private String searchTerm;
private Date date;
}
私はその後searchTermDao.insertOrReplace(searchTerm)
を使用してテーブルに挿入します。問題は、searchTerm
がまったく同じ複数のエントリを格納することです。私は間違って何をしていますか?
private SearchViewQueryTextEvent storeSearchTerm(SearchViewQueryTextEvent queryTextEvent)
{
SearchTerm searchTerm = new SearchTerm();
searchTerm.setSearchTerm(queryTextEvent.queryText().toString());
searchTerm.setDate(new Date());
searchTermDao.insertOrReplace(searchTerm);
Log.d(TAG, "Stored new search term: " + searchTerm.getSearchTerm());
return queryTextEvent;
}
SOLUTION:一度だけ呼び出されるために必要な
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(mContext, "search-db");
helper.onUpgrade(helper.getWritableDatabase(), 1, 2);
Database db = helper.getWritableDb();
return new DaoMaster(db).newSession();
.onUpgrade()
:私はちょうど初期化でデータベースをアップグレードしたコメントでルイスから
感謝。
SQLiteまたはORMLiteなどを使用していますか? –
私はすべてのデフォルトを維持しているので、私はSQLite –