Java 将db字段映射到特殊类型的POJO

Java 将db字段映射到特殊类型的POJO,java,sql,jpa,ebean,Java,Sql,Jpa,Ebean,我有一个包含食品数据的数据库,每个数据库都有蛋白质的数据,单位为克,能量单位为千卡等等。这些数据存储为浮点数 我想把它们映射到一个叫做FoodData的特殊POJO对象,它只有一个浮点数,然后是一个表示单位的枚举,比如克、千卡、毫克等等 我该怎么做 这就是我现在拥有的: FoodItem.java @Column(name = "energy_kcal") public Float energyKcal; @Column(name = "energy_kj") public Float ener

我有一个包含食品数据的数据库,每个数据库都有蛋白质的数据,单位为克,能量单位为千卡等等。这些数据存储为浮点数

我想把它们映射到一个叫做FoodData的特殊POJO对象,它只有一个浮点数,然后是一个表示单位的枚举,比如克、千卡、毫克等等

我该怎么做

这就是我现在拥有的:

FoodItem.java

@Column(name = "energy_kcal") public Float energyKcal;
@Column(name = "energy_kj") public Float energyKj;
@Column(name = "carbohydrates_g") public Float carbohydrates;
@Column(name = "protein_g") public Float protein;
@Column(name = "fibre_g") public Float fibre;
@Column(name = "whole_grain_g") public Float wholeGrain;
@Column(name = "cholesterol_mg") public Float cholesterol;
@Column(name = "water_g") public Float water;
@Column(name = "alcohol_g") public Float alcohol;
@Column(name = "ash_g") public Float ash;
@Column(name = "waste_procent") public Float waste;
public class FoodData {

    private float data;
    private Unit unit;

    public Enum Unit {
         GRAMS, KCAL, MILLIGRAMS
    }
}
FoodData.java

@Column(name = "energy_kcal") public Float energyKcal;
@Column(name = "energy_kj") public Float energyKj;
@Column(name = "carbohydrates_g") public Float carbohydrates;
@Column(name = "protein_g") public Float protein;
@Column(name = "fibre_g") public Float fibre;
@Column(name = "whole_grain_g") public Float wholeGrain;
@Column(name = "cholesterol_mg") public Float cholesterol;
@Column(name = "water_g") public Float water;
@Column(name = "alcohol_g") public Float alcohol;
@Column(name = "ash_g") public Float ash;
@Column(name = "waste_procent") public Float waste;
public class FoodData {

    private float data;
    private Unit unit;

    public Enum Unit {
         GRAMS, KCAL, MILLIGRAMS
    }
}
我想做的是这样的:

@Column(name = "energy_kcal") public FoodData energyKcal = new FoodData(data_from_column, Unit.KCAL);

但你不是这样做的,你是怎么做的?

看看吧,谢谢!我更多考虑的是注释模型类,而不是查询方式……你的“我想做什么”当然不会编译,也不清楚你想在那里做什么。@NeilStockton Yes sry关于那里的静态类型,使它更加混乱。我想做的是在数据库中有浮点数据,并将它们映射到一个POJO对象,该对象本质上是一对浮点(真实的db数据)和一个枚举?所以FoodData不是一个实体