私はOrmLiteのHelloAndroidの例を使用し、自分の要件に従って修正しました。その後、私は別のBean(適切な注釈付きPOJO)を添加してもAndroid ORMLiteは2つのテーブルを使用してSQLExceptionを返します
しかし、私は2番目のテーブルを追加した最初のテーブルと同様に、この
# --table-start--
dataClass=com.example.helloandroid.SchoolDataBean
@DatabaseField(generatedId = true)
tableName=schooltable
# --table-fields-start--
# --field-start--
fieldName=rollNo
generatedId=true
# --field-end--
# --field-start--
fieldName=name
indexName=simpledata_string_idx
# --field-end--
# --field-start--
fieldName=gender
# --field-end--
# --field-start--
fieldName=presence
# --field-end--
# --table-fields-end--
# --table-end--
# --table-start--
dataClass=com.example.helloandroid.CompanyDataBean
@DatabaseField(generatedId = true)
tableName=companytable
# --table-fields-start--
# --field-start--
fieldName=companyId
generatedId=true
# --field-end--
# --field-start--
fieldName=name
indexName=simpledata_string_idx
# --field-end--
# --field-start--
fieldName=designation
# --field-end--
# --field-start--
fieldName=annualPay
# --field-end--
# --table-fields-end--
# --table-end--
のように新たに追加されたテーブルのための私のconfig.txtファイルを更新し、私はConfigクラス自体に間違っていることがあると信じています。
例外は述べています。この
java.sql.SQLException: Could not find declared field with name 'companyId' for class com.example.helloandroid.SchoolDataBean
最初のテーブルが終了して、新しいテーブルがそのが第二のテーブルのカラム名を読み込むよう、今読まれるべきコンパイラに伝えるためにいくつかの方法があるに違いありません最初のテーブル。
public class CompanyDataBean {
//id is generated by the database and set on the object automagically
@DatabaseField(generatedId = true)
int companyId;
@DatabaseField(index = true)
String name;
@DatabaseField
String designation;
@DatabaseField
String annualPay;
public CompanyDataBean() {
}
public CompanyDataBean(int companyId,String name, String designation, String annualPay){
this.companyId=companyId;
this.name=name;
this.designation=designation;
this.annualPay=annualPay;
}
}
どのように私のBEANがどのように見えるのですか?ありがとう。
私はconfigファイルを自分自身で生成しなければならないことを認識しています。私の場合は、新しいテーブルを設定ファイルにプッシュする必要があります。 –
最初にJavaアプリケーションとして実行して、ブートストラップローダーを削除してJRE 6を実行して、すでに文書化されている2番目のテーブルでconfig.txtファイルを生成しました。 –