为什么我的第二个greendao插入不起作用?

时间:2015-06-05 17:29:39

标签: android sql sqlite greendao android-database

我正在使用greendao来应用我的。我使用生成器来创建所有表,我现在正在运行测试。该插件适用于用户表,但不适用于组表。两个实体模型之间几乎没有什么不同,所以我不知道为什么我会收到插入错误。

以下是我的所有模特

private static void addMessage() {
    Entity message = schema.addEntity("Message");
    message.addIdProperty().autoincrement();
    message.addStringProperty("mtext").notNull();
    message.addDateProperty("date").getProperty();
    message.addLongProperty("userId").notNull();
    message.addLongProperty("groupId").notNull();

}

private static void addUser(){
    Entity user = schema.addEntity("User");
    user.addIdProperty().autoincrement();
    user.addStringProperty("username").notNull().unique();
    user.addStringProperty("email").notNull().unique();
    // Not necessary if group does not exist
    user.addStringProperty("token").unique(); // Doesn't have to be there unique
}

private static void addGroup(){
    Entity group = schema.addEntity("Group");
    group.addIdProperty().autoincrement();
    group.addStringProperty("name").notNull();
    group.addStringProperty("description").notNull();
}

private static void addUserToGroup(){
    Entity ugSchema = schema.addEntity("UserGroup");
    ugSchema.addIdProperty().autoincrement();
    ugSchema.addLongProperty("userId").notNull();
    ugSchema.addLongProperty("groupId").notNull();
}

这是我的测试方法。请记住,我使用静态来控制DAO会话。如果你认为这可能有助于告诉我。

public void testDB(){

    User inUser = new User();
    inUser.setEmail("KevinKivo@gmail.com");
    inUser.setUsername("KevinKivo");
    inUser.setToken("TheRandomTokenGoesHere");
    Database.getuser().insert(inUser);
    ArrayList<User> user = (ArrayList<User>)
            Database.getuser()
                    .queryBuilder()
                    .list();
    // Can create message and
    for(User us: user){
        Log.i(TAG, "Email: " + us.getEmail());
        Log.i(TAG, "Username: " + us.getUsername());
        Log.i(TAG, "Token: " + us.getToken());
    }

    // Create a group here
    Group sampleGroup = new Group();
    sampleGroup.setName("SampleName");
    sampleGroup.setDescription("SampleDescription");

    Log.i(TAG, "" + Database.getGroup());
    Log.i(TAG, "" + Database.getuser());
    Log.i(TAG, "" + Database.getGroup().insertOrReplace(sampleGroup));


    // Add user and group id relation here
}

插入用户时插入用户完美无效。有人可以解释一下原因吗?这个问题现在困扰着我的生活。我正在研究应用程序的其他部分,但这非常重要。

0 个答案:

没有答案