ormliteクエリメソッドを使用してDOオブジェクトにデータベース行をロードしようとしています。私が直面している問題は、DOオブジェクトのWrapper型フィールドにマップされているデータベースのNULL値です。 nullフィールドは0としてDOに取り込まれ、ビジネスロジックが崩れます。null値をプリミティブ型にロードする
0ではなく
私のサンプルのヌルとしてこれらのフィールドを埋めるためにormliteせることができるどのような方法がありますが構造をDO:私は、オブジェクトをロードするために使用しています
@DatabaseTable(tableName="PERSON")
public class Person
{
@DatabaseField(columnName="NAME", dataType=DataType.STRING, useGetSet=true)
private String name;
@DatabaseField(columnName = "AGE", dataType = DataType.SHORT, useGetSet = true)
private Short age;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Short getAge()
{
return age;
}
public void setAge(Short age)
{
this.age = age;
}
}
DAOコードがあります:人の年齢はSQLiteデータベースにNULLとして格納されている場合
person = queryForEq("NAME", someName).get(0);
要約すると、Personクラスでは、ormliteは、オブジェクトをクエリに0として投入されます。私はこれを避け、年齢がヌルとして設定されていることを確認したいこれを達成する方法はありますか?
なぜ私は反射を使用させるのではなく、 'useGetSet'を使うのが好きですか? – Gray
私は 'useGetSet'を使う特別な理由はありません。それを試していた。 'useGetSet'を使用すると、アプリケーションのパフォーマンスに悪影響がありますか? –
いいえ、ちょうどデフォルトではなく、私は不思議でした。リフレクションはデフォルトです。 – Gray