Lista <String> como @ForeignCollectionField ormlite

Tengo en mi modelo Clase

List<String> _photo_array; 

ya que puedo poner anotation en String Class es una forma de persistir con ormLite?

ya que puedo poner anotation en String Class es una forma de persistir con ormLite?

Vas a tener que crear una entidad que envuelva la String . Algo como:

  @DatabaseTable public class Photo { @DatabaseField(generatedId = true) private int id; @DatabaseField private String photo; @DatabaseField(foreign = true) private Model model; } 

Entonces su clase de modelo tendría una ForeignCollection de estas fotos.

  @DatabaseTable public class Model { @DatabaseField(generatedId = true) private int id; @ForeignCollectionField() private ForeignCollection<Photo> photos; } 

Vea el ejemplo de colección externa .

Una forma de resolver este problema es usar relaciones uno-a-muchos.

Para persistir relaciones uno-a-muchos puede utilizar ForeignCollection. Revise el docu.

Otros tipos de colecciones no son compatibles con ORMLite, como sé.

Otro punto es que se necesita una referencia posterior en el objeto referenciado. Para marcar un campo como referencia inversa, utilice la anotación @DatabaseField (foreign = true, …)

Para el escenario A (1) -> B (n)

 class A { @DatabaseField(generatedId = true, columnName = BaseColumns._ID) public int _id; @ForeignCollectionField(eager = true) public ForeignCollection<B> _photo_array; } class B { @DatabaseField(generatedId = true, columnName = BaseColumns._ID) public int _id; @DatabaseField(foreign = true, canBeNull = false, foreignAutoRefresh = true, foreignAutoCreate = true) public A a; } 

En este escenario, una referencia B en una forma de uno a muchos. Si a se cargará, todos los B dependientes también se cargarán (debido a eager = true)

Para guardar esta estructura podrías usar esta forma (espero que hayas creado clases ADao y BDao):

  final A a = ...; final ADao aDAO = ...; aDAO.createOrUpdate(a); final ArrayList<B> children = ...; final BDao bDAO = ...; for (final B b: children ) { bDAO.create(season); } 

A y B incluyendo la dependencia serán almacenados. Si ahora intenta obtener A de db también obtendrá todos los B relacionados con la instancia de A.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.