AndroidでSQLiteを使うならば、テーブルに「_id」というカラムを付けた方が良いらしい、とここに書いてあるんですが、
http://monoist.atmarkit.co.jp/mn/articles/1209/21/news003.htmlRMLite
ORMLiteを使ってDBアクセスを行うならば、必要無いと思われます。むしろ邪魔です。
例えば、以下のようなコードを想定します。
これはエンティティの更新もしくは追加を行う処理です。
//エンティティを生成する。
HogeEntity hogeEntityInstance = new HogeEntity();
/*このあたりでHogeEntityのデータをいろいろ格納する。*/
//更新もしくは追加
ORMDatabaseHelper helper = new ORMDatabaseHelper(context);
Dao<HogeEntity, Long> dao = helper.getDao(HogeEntity.class);
dao.createOrUpdate(hogeEntityInstance);
helper.close();
本来は、同じIDを持つエンティティが格納された場合、updateが走るはずです。
しかし「_id」フィールドをPrimary keyとしたテーブルの場合、必要なデータとは別に_idの値を格納する必要があります。
仮に「_id」を(generatedId = true)にしちゃってた場合、事前に一旦検索して_idを特定してからでないとupdateが動作しない事になります。というか私がやってしまいました。
というわけでormliteを使っている限り、「_id」フィールドは作らない方が良いと思います。