GreenDAO To many relations not adding rows to join class

MonoFloyd

Hello I'm using greenDAO To-Many relations as follows: An user can be listening to 0 or many audiobooks (audiolibro in code) so I have this in entity class.

@ToMany
@JoinEntity(entity = UsuarioAudiolibro.class,
            sourceProperty = "usuarioID",
            targetProperty = "audiolibroID"
            )
List<Audiolibro> audiolibros;

I'm using a testing class to load some test data as follows:

public class Prueba {
public static void datosPrueba(DaoSession session){
    session.getPersonaDao().deleteAll();
    session.getUsuarioDao().deleteAll();
    session.getAudiolibroDao().deleteAll();
    Persona pers = new Persona();
    // ... set persona data

    Persona pers2 = new Persona();
    // ... idem

    Persona pers3 = new Persona();
    // ... same

    // Here I persist Persona
    PersonaDao persDao = session.getPersonaDao();
    persDao.insertOrReplace(pers);
    persDao.insertOrReplace(pers2);
    persDao.insertOrReplace(pers3);

    //Create users 1-to many
    Usuario user = new Usuario();
    //sets data for user
    Usuario user2 = new Usuario();
    //sets data for another user
    Usuario user3 = new Usuario();
    //same again

    user.setPersona(pers);
    user2.setPersona(pers2);
    user3.setPersona(pers3);
    // persist usuario
    UsuarioDao userDao = session.getUsuarioDao();
    userDao.insertOrReplace(user);
    userDao.insertOrReplace(user2);
    userDao.insertOrReplace(user3);
    userDao.insertOrReplace(user4);


    //Create audiolibros

    Audiolibro audio = new Audiolibro();
    //... set audiolibro data

    Audiolibro audio2 = new Audiolibro();
    // ... set data

    Audiolibro audio3 = new Audiolibro();
    // ... set data

    //persist audiolibro
    AudiolibroDao audioDao = session.getAudiolibroDao();
    audioDao.insertOrReplace(audio);
    audioDao.insertOrReplace(audio2);
    audioDao.insertOrReplace(audio3);

    //add audiolibros to usuario
    List<Audiolibro> audiolibrosUser = user.getAudiolibros();
    audiolibrosUser.add(audio);
    audiolibrosUser.add(audio2);
    userDao.update(user);
    List<Audiolibro> audiolibrosUser2 = user2.getAudiolibros();
    audiolibrosUser2.add(audio2);
    audiolibrosUser2.add(audio3);
    userDao.update(user2);
    List<Audiolibro> audiolibrosUser3 = user3.getAudiolibros();
    audiolibrosUser3.add(audio3);
    audiolibrosUser3.add(audio);
    userDao.update(user3);
    }
}

After this the list of audilibros can be accessed here, but when I try to retrieve data from session in an activity the list seems empty. I tried reseting the list wit resetlist() in activity code but doesn't work. When I inspect the database there's not rows in the JoinTable.

What am I doing wrong?

MonoFloyd

I had to manually create the join entities, didn't know, but it worked.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Mysql join with one to many relations

From Dev

Model Many to Many relations with Abstract Class

From Dev

Model Many to Many relations with Abstract Class

From Dev

Many to Many join with the least duplicate rows

From Dev

SQLite, Many to many relations

From Dev

Adding a left join reduces the number of rows returned

From Dev

Mysql one to many join, rows to columns

From Dev

GreenDao helper class

From Dev

Rubyish way of adding many variables to a class

From Dev

Adding relations in code only

From Dev

Working with Many to Many and GreenDao 3.1.0 - Android

From Dev

Counting in Many to Many Relations in SQL

From Dev

Octobercms: Many to many relations not showing

From Dev

Twig one to many relations

From Dev

Twig one to many relations

From Dev

Relations - One to many in Parse

From Dev

Is it possible to join multiple tables with one to many relations to the primary table without duplicated records?

From Dev

Hibernate Many-to-Many with join-class Cascading issue

From Dev

Adding specified element from many rows JavaScript/jQuery

From Dev

Custom type in GreenDao with POJO class

From Dev

SELECT, JOIN, and a WHERE != statement returning too many rows

From Dev

Optimize query contains too many inner join and rows

From Dev

mysql join one to many relationship and print in different rows

From Dev

Pandas: join multiple columns of one row to many rows (1:n)

From Dev

Redshift Query returning too many rows in aggregate join

From Dev

Greendao: How to update to-many entities

From Dev

adding two relations to a rails migration

From Dev

build form for tables with many relations

From Dev

mysql query - one to many relations

Related Related

HotTag

Archive