小编use*_*401的帖子

使用greendao for android的多对多编译错误

问题解决了! - 我在底部添加了我的解决方案.

我认为这是一个相当简单的问题,但我似乎无法在文档中找到答案.

我正在尝试使用greendao为android建模多对多关系,但是在运行生成器项目后,我在主项目中遇到编译错误.

我的代码指定了关系和实体:

    Entity customer = schema.addEntity("Customer");
    customer.addIdProperty();
    customer.addStringProperty("firstName").notNull();
    customer.addStringProperty("lastName").notNull();
    customer.addDateProperty("birthDate");
    customer.addStringProperty("phoneNumber");
    customer.addStringProperty("address");
    customer.addStringProperty("email");


    // Product
    Entity product= schema.addEntity("Product");
    product.addIdProperty();
    product.addIntProperty("colour").notNull();
    product.addIntProperty("weight").notNull();

    // CustomerProduct
    Entity customerProduct = schema.addEntity("CustomerProduct");
    customerProduct.addIdProperty();

    Property customerId = customerProduct.addLongProperty("customerId").notNull().getProperty();
    customer.addToOne(customerProduct , customerId);
    ToMany customerProductToCustomers = customerProduct.addToMany(customer, customerId);
    customerProductToCustomers.setName("customers");        

    Property productId = customerProduct.addLongProperty("productId").notNull().getProperty();
    product.addToOne(customerProduct , productId);
    ToMany customerProductToProducts = customerProduct.addToMany(product, productId);
    customerProductToProducts.setName("products");  

    customerProduct.addStringProperty("something");
Run Code Online (Sandbox Code Playgroud)

错误:在Customer.java中:customerId无法解析为变量在Product.java中:productId无法解析为变量

请帮忙,谢谢.

编辑:

以下是来自Customer.java(自动生成)的问题代码的摘录:

/**To-one关系,在首次访问时解决.*/

public CustomerProduct getCustomerProduct() {
    if (customerProduct__resolvedKey == null || !customerProduct__resolvedKey.equals(customerId)) {
        if (daoSession == …
Run Code Online (Sandbox Code Playgroud)

orm android entities many-to-many greendao

6
推荐指数
1
解决办法
1505
查看次数

标签 统计

android ×1

entities ×1

greendao ×1

many-to-many ×1

orm ×1