私は現在、いくつかのレガシー コードを JPA を使用するように移植しており、テーブルの 1 つをエンティティに単純化しようとして問題に遭遇しました。
私は、24 時間の期間中 (30 分ごと) に取得したさまざまな測定値の表を持っています。次のようになります。
Date |R1|R2|R3...R48
1/1/2012,1,5,1,3,3,4,5,5....etc
エンティティ Bean を次のようにしたいと思います。
@Entity
public class Reading {
@Id
String date;
@??
int[] values;
@???
int sumOfValues
}
これにどのようにアプローチできるかについての提案はありますか? それは可能ですか?また、これらの値を読みたいのは、それが簡単になる場合だけです。MongoDBでEclipseLink 2.4を使用しています
** アップデート **
ほとんどそれを持っています-しかし、どういうわけか順序を維持する必要があります(フィールドが順不同でマップされていると思います)-または列名への参照を渡します:
@Entity
@Customizer (RawDataCustomizer.class)
public class Reading {
private List<Integer> values...
public void setValue(Integer value)...
public static class RawDataCustomizer implements DescriptorCustomizer {
@Override
public void customize(ClassDescriptor descriptor) throws Exception {
//loses ordering?
for (int i=1; i<=48; i++)
descriptor.addDirectMapping("R"+i, "getValue", "setValue", "r"+i);
}