Relación uno-a-muchos en ORMLite Android
¿Cómo puedo implementar una relación de muchos en ORMLite Android?
Por favor encuentra el ejemplo
- ¿Cómo usar LoaderManager.LoaderCallbacks y CursorLoader para ORMLite?
- ORMLite para Android: enlazar DAO con Roboguice
- ORMLite id genera
- Android ORMLite. LEFT unirse. Dónde cláusula
- Listar todas las tablas de ormlite db android
public class A { private String name; @DatabaseField (foreign = true, foreignAutoRefresh = true, columnName = "A") private B b; @DatabaseField(columnName = "author") private String authorName; } public class B { @DatabaseField(generatedId = true, columnName = "id") private long id; @DatabaseField(columnName = "name") private String name; @ForeignCollectionField Collection<A> aees; }
B tiene colección de A. Estoy llamando a dao.create(b);
Ahora creo dao de b, ya que b tiene todos los datos. Pero la tabla B sólo ha creado con datos, A nunca se crea. Amablemente alguien podría ayudar?
- Android SDK r18 parece haber roto ORMLite
- ORMLite para Android no autorefresh objeto extranjero utilizando foreignAutoRefresh
- Cuando agrego un nuevo campo consigo un puntero nulo
- La función Android andmlite like () no funciona
- ¿Dónde encuentro el ApplicationContext necesario para inicializar ORMLite?
- Robolectric: Pruebas con ormlite
- ORMLite muchas a muchas relaciones Android
- Borrar datos antiguos de caché con robospice ormlite
Ahora creo dao de b, ya que b tiene todos los datos. Pero la tabla B sólo ha creado con datos, A nunca se crea. Amablemente alguien podría ayudar?
Derecha. Es necesario crear los elementos A
utilizando:
for (A a : b.aees) { aDao.create(a); }
ORMLite no crea automáticamente ésos para usted.
Podría echar un vistazo al código fuente del programa de ejemplo de colección extranjera .
Tienes que anular el DAO de la clase B, por lo que cuando se crea o actualiza un objeto B, los objetos de la colección también se actualizarán.
Echa un vistazo a esta pregunta: Colecciones en ORMLite .
Yo estaba enfrentando el mismo problema. Mi json era como:
{ "parent":{ "name":"ABC", "children":[ {"childName":"1"}, {"childName":"2"}, {"childName":"3"} ] } }
I resuelto el problema como este:
Parent parent = new Parent(); parent.setName("ABC"); while(get children one by one from json data) { childrenArray.add(new Child(its Name)); } parentDAO.create(parent); for(Child child : childrenArray) { child.setParent(parent); childDAO.create(child); }
- Cómo evitar que otra vista sea expulsada de la pantalla
- Android: pasar dinámicamente la clase del modelo a retroalimentar la devolución de llamada