0
如何查詢將另一個對象作爲屬性的對象?我也需要獲得財產的價值。這裏是我的模型:Android sqllite,查詢屬於另一個對象屬性的對象
public class Department {
public int DeptId;
public string DeptName;
}
public class Employee {
public int Id;
public string Name;
public int DeptId;
public Department Department;
}
我來自c#背景,我可以用c#使用實體框架來做到這一點。現在看起來這個模型可以工作,但是當我爲對象包含一個sqllite功能時,我不知道如何查詢它。
這是我的第一次嘗試,但我不知道這是最好的方式
public List<Employee> getAllEmployeesWithDepartments(){
List<Employee> employees = new ArrayList<>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM Employee e LEFT JOIN Department d on e.DeptId = d.Id" , null);
if(res.moveToFirst()){
do{
Employee emp = new Employee();
emp.Id = res.getInt(res.getColumnIndex("Id"));
emp.Name = res.getString(res.getColumnIndex("Name"));
Department dep = new Department();
dep.Id = res.getInt(res.getColumnIndex("Id"));
dep.Name = res.getString(res.getColumnIndex("Name"));
emp.Department = dep;
employees.add(emp);
}while (res.moveToNext());
}
return employees;
}