Использование свойства enum в качестве значения столбца Ormlite вместо порядка. Является ли это возможным?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Использование свойства enum в качестве значения столбца Ormlite вместо порядка. Является ли это возможным?

Сообщение Anonymous »

@DatabaseField(dataType=DataType.ENUM_STRING,columnName=TIPO_FIELD_NAME)
private TipoPedido tipo;

public enum TipoPedido {
REGISTARNOTIFICACAORESPOSTA("Registar Notificação Resposta",SIGLA_TIPO_REGISTARNOTIFICATIORESPOSTA);

private String tipoName;

private String tipoValue;

TipoPedido(String tipoName,String tipoValue){
this.tipoName=tipoName;
this.tipoValue=tipoValue;
}

public String getTipoName(){
return tipoName;
}

public String getTipoValue(){
return tipoValue;
}

}
< /code>

Можно ли использовать свойство перечисления Tipovalue в качестве значения для столбца вместо порядка?public class MyEnumPersister extends EnumStringType{

private static final MyEnumPersister singleTon = new MyEnumPersister();

/**
* @param sqlType
* @param classes
*/
protected MyEnumPersister() {

super(SqlType.STRING, new Class[] { Enum.class });
}

public static MyEnumPersister getSingleton() {
return singleTon;
}

@Override
public Object javaToSqlArg(FieldType fieldType, Object obj) {

return ((EstadoPedido)obj).getEstadoValue();
}

@Override
public Object sqlArgToJava(FieldType fieldType, Object sqlArg, int columnPos)
throws SQLException {

return PedidoDTO.siglaEstadoPedidoComparator((String)sqlArg);

}
< /code>

} < /p>

в javatosqlarg я возвращаю строку, соответствующую Estadovalue, используя Getter внутри Enum. /> edit2: кажется, что когда я делаю запрос на таблице, в котором хранятся данные, метод Javatosqlarg вызывается перед Sqlargtojava, почему ??? Вот запрос: < /p>

public List
getPendingRequests(){

List pendingReq=null;
QueryBuilder queryBuild=null;

try {
queryBuild=getHelper().getPedidosDao().queryBuilder();
pendingReq=queryBuild.where().eq(PedidoDTO.ESTADO_FIELD_NAME, PedidoDTO.SIGLA_ESTADO_PENDENTE).query();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return pendingReq;
}
< /code>

Значение OBJ появляется как «P», которое я был конвертированием в SQL, когда я вставлял его в базу данных. Не имеет слишком большого смысла ....


Подробнее здесь: https://stackoverflow.com/questions/120 ... t-possible
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»