4

project と projectList の 2 つのエンティティ クラスがあります。ProjectList には属性 id と、プロジェクトのリストを保持する HasMap があります。エラーなしで INSERT 操作を実行できますが、HashMap リストを取得している間は null.arrayList を挿入しようとしましたが、これも null を返します。

SugarORM で HashMap や ArrayList などのコレクション クラスを永続化するためのサポートはありますか?

親切に助けてください。ありがとう。

ProjectList エンティティ クラス。

public class ProjectList extends SugarRecord<ProjectList> {
private int projectListId;
private HashMap<String, Project> projects;

/** Empty Constructor */
public ProjectList(Context context) {
    super(context);
}

public ProjectList(Context context, int projectId,
        HashMap<String, Project> projects) {
    super(context);
    this.projectListId = projectId;
    this.projects = projects;
}

/**
 * @return the projectListId
 */
public int getProjectListId() {
    return projectListId;
}

/**
 * @param projectListId
 *            the projectListId to set
 */
public void setProjectListId(int projectListId) {
    this.projectListId = projectListId;
}

/**
 * @return the projects
 */
public HashMap<String, Project> getProjects() {
    return projects;
}

/**
 * @param projects
 *            the projects to set
 */
public void setProjects(HashMap<String, Project> projects) {
    this.projects = projects;
}

}
4

1 に答える 1

5

SugarORM は、データベースへの HashMap の保存をサポートしていません。

クエリを使用してプロジェクト リストをプロジェクトにリンクできるように、データベース構造を再考することを検討してください。

詳細と回避策については、 https ://github.com/satyan/sugar/issues/60 を参照してください。

于 2014-04-28T11:56:39.400 に答える