私はしばらく Hibernate を使用してきましたが、今回はここで型にはまらないことをしようとしています。その可能性さえ定かではありません。
私がしたいのは、単一のテーブルからデータをロードすることです。この列のいくつかには、残りのフィールドが定義されています (ほぼ 20 前後で、時間とともに増加する可能性があります)。すべての整数をマップにロードします。列の名前がキーになり、データがその値になるようにします。
私は Hibernate 4.1.4 を使用しており、注釈を使用してフィールドを列にマップしています。
さらに明確にするために: テーブル定義:
CREATE TABLE TempTable
(
id SERIAL,
revId TEXT,
type INTEGER,
group INTEGER,
col_1 INTEGER,
col_2 INTEGER,
col_3 INTEGER,
col_4 INTEGER,
col_5 INTEGER,
col_6 INTEGER,
col_7 INTEGER,
col_8 INTEGER,
col_9 INTEGER
}
DAOモデルは次のようになります
@Entity
@Table(name = "TempTable")
public class StatsModel {
private Long entryId;
private String revId;
private Integer type;
private Integer group;
private Map<String, Integer> metrics; // Map in which I want columns col_1 to col_9 as "Column Name" Vs. "Value"
@Id
@Column(name = "id", columnDefinition = "serial")
@Generated(GenerationTime.INSERT)
public Long getEntryId() {
return entryId;
}
public void setEntryId(Long entryId) {
this.entryId = entryId;
}
@Column(name = "tx_rev")
public String getRevId() {
return revId;
}
public void setRevId(String revId) {
this.revId= revId;
}
@Column(name = "nu_type")
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
@Column(name = "nu_group")
public Integer getGroup() {
return group;
}
public void setGroup(Integer group) {
this.group = group;
}
}