【发布时间】:2017-10-19 16:56:52
【问题描述】:
我正在尝试在 TableView 中实现以下目标:
prod_name | prod_comment | ... | kcal | kjoule |
--------------------------------------------
name | hi | | 1.5 | 5
name | hi | | 2.0 | 7
这些是我使用的模型:
Product (holds things like name,comment etc)
Nutrient (holds the kcal, kjoule strings etc)
Product_Nutrient (holds the amounts of kcal, kjoule etc for every product)
我目前拥有的是一个 DAO(和一个单独的模型)层,它连接所有这些表并以与上述完全相同的格式返回它们,但是对于这个项目不允许使用 SQL加入(学校项目)。我不认为这会成为一个问题,但现在它是。
我还尝试将三个模型作为列表包装到一个模型中,但我不确定如何保存模型之间的关系,以及如何在TableView 中显示它们。 (same as shown here)
如果有任何不清楚的地方请告诉我,以便我补充更多信息。
编辑;
澄清一下:
某些Product 可能不会在ProductNutrient 中包含每个Nutrient
例如:
prod_id | nutrient_id | amount |
1 1 0.0
1 2 5.1
2 1 1.4
3 1 0.2
3 2 0.0
这里prod_id 2 没有nutrient_id 2,因为0.0 与不存在不同。
编辑:
型号:
public class ProductModel {
private String name;
private int prod_code;
....
//getters/setters
}
public class ProductNutrientModel {
private double amount; // amount of the nutrient linked to a product
private int prod_code;
private int nutrient_id;
....
//getters/setters
}
public class NutrientModel {
private int nutrient_id;
private String name; // names of the nutrients
....
// Nutrient holds no amount
//getters/setters
}
【问题讨论】:
-
模型类之间的关系对我来说不是很清楚。
Product是否引用了ProductNutrient?还是Nutrient?你能把这些类的代码贴出来吗? -
@James_D ProductNutrient 表示连接表,它包含多个 p_id 和多个 nutrition_id,以及该营养素的数量。
-
每个实例都为每个其他类保存多个 id?我真的不明白。我希望每个
ProductNutrient实例引用一个Product实例和一个Nutrient实例。再说一遍,你不能在你的问题中发布这些类(或者至少是它们的简化版本来证明问题)吗? -
@James_D 他们目前没有任何彼此的实例,我真的不知道如何实现。
-
您实际上希望
TableView中的每一行代表连接表中的某些内容,对吗?列显示来自相应产品和相应营养素的数据?