問題が解決しました! - 私は自分のソリューションを一番下に追加しました。android用greendaoを使用した多対多コンパイルエラー
私はかなり単純な質問だと思っていますが、その答えをドキュメントで見つけることはできません。
私は、アンドロイド用のgreendaoを使用して多対多の関係をモデル化しようとしていますが、ジェネレータプロジェクトを実行した後、メインプロジェクトでコンパイルエラーが発生します。
関係やエンティティを指定するマイコード:
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");
エラーを:Customer.javaで :はcustomerIdがProduct.javaで変数 に解決することはできません。PRODUCTIDは、変数に解決することはできません
ご協力ありがとうございます。
編集:最初のアクセスで解決
/**対1の関係、:ここ
がCustomer.java(自動生成)から、問題のコードを有する抽出物です。 */
public CustomerProduct getCustomerProduct() {
if (customerProduct__resolvedKey == null || !customerProduct__resolvedKey.equals(customerId)) {
if (daoSession == null) {
throw new DaoException("Entity is detached from DAO context");
}
CustomerProductDao targetDao = daoSession.getCustomerProductDao();
customerProduct = targetDao.load(customerId);
customerProduct__resolvedKey = customerId;
}
return customerProduct ;
}
public void setCustomerProduct(CustomerProduct customerProduct) {
if (customerProduct == null) {
throw new DaoException("To-one property 'customerId' has not-null constraint; cannot set to-one to null");
}
this.customerProduct = customerProduct;
customerId= customerProduct.getId();
customerProduct__resolvedKey = customerId;
}
問題:
パブリッククラスカスタマー{
private Long id;
/** Not-null value. */
private String firstName;
/** Not-null value. */
private String lastName;
private java.util.Date birthDate;
private String phoneNumber;
private String address;
private String email;
/** Used to resolve relations */
private transient DaoSession daoSession;
/** Used for active entity operations. */
private transient CustomerDao myDao;
private CustomerProduct customerProduct;
private Long customerProduct__resolvedKey;
:これは、コードが得意先参照しようとしているが、はcustomerIdがクラスのメンバーの一人として存在していない生成ソリューション:
私が全力でやってみたかったことは、多対多関係のモデルでした。 私は何をやっていた: お客様(M:1)CustomerProduct(1:M)私が行っているべきしかし製品
: お客様(1:M)CustomerProduct(M:1)製品
エラーの原因となるコードを表示してください。 –
コンパイルエラーの原因となるコードを追加しました – user2031401
このコードはソリューションですか?ここに投稿されていない進歩はありましたか? – MatheusJardimB