СТАРЫЙ ОБЪЕКТ: у меня был объект, но я забыл добавить аннотацию @DatabaseField к некоторым полям.
@DatabaseTable
public class Card {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField(unique = true)
private String cardNumber;
@DatabaseField
private String nameOnCard;
private String ccv;
private String validFrom;
private String validTill;
private String pin;
//Required by ormLite
public Card() {
}
//skipped the getter setters below
}
У меня есть класс, который пишет конфигурацию, вот код.
package net.udevs.db;
import com.j256.ormlite.android.apptools.OrmLiteConfigUtil;
import net.udevs.entity.Card;
public class OrmLiteSqlLiteConfigGenerator extends OrmLiteConfigUtil {
private final static Class<?>[] entityClasses=new Class[]{EmailAccount.class, Card.class};
public static void main(String... args) throws Exception{
writeConfigFile("ormlite_config.txt",entityClasses);
}
}
Созданный файл конфигурации приведен ниже, и, посмотрев на него, я знаю, что поля в базе данных не обновляются.
#
# generated on 2016/01/14 01:13:56
#
# --table-start--
dataClass=net.udevs.entity.Card
tableName=card
# --table-fields-start--
# --field-start--
fieldName=id
generatedId=true
# --field-end--
# --field-start--
fieldName=cardNumber
unique=true
# --field-end--
# --field-start--
fieldName=nameOnCard
# --field-end--
# --table-fields-end--
# --table-end--
#################################
НОВАЯ СУЩНОСТЬ: теперь я добавил отсутствующую аннотацию @DatabaseField.
public class Card {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField(unique = true)
private String cardNumber;
@DatabaseField
private String nameOnCard;
@DatabaseField
private String ccv;
@DatabaseField
private String validFrom;
@DatabaseField
private String validTill;
@DatabaseField
private String pin;
public Card() {
}
public Card(int id, String cardNumber, String nameOnCard, String ccv, String validFrom, String validTill, String pin) {
this.id = id;
this.cardNumber = cardNumber;
this.nameOnCard = nameOnCard;
this.ccv = ccv;
this.validFrom = validFrom;
this.validTill = validTill;
this.pin = pin;
}
//skipped the getter setters below
}
и затем я снова запустил класс OrmLiteConfigUtil, но файл конфигурации не изменился.