テーブルのメタデータ情報を取得しようとしています。テーブル内の列と列のタイプを取得することに成功しました。各列のサイズも取得したいと思います。私はHibernateにかなり慣れておらず、これに固執しています。これは私が列の名前とタイプを取得する方法です:
String[] columns = HibernateUtil.getSessionFactory()
.getClassMetadata(Java.class).getPropertyNames();
Type[] columnsType = HibernateUtil.getSessionFactory()
.getClassMetadata(Java.class).getPropertyTypes();
エンティティクラス:
@Entity
@Table(name="Box")
public class Box implements Serializable {
private int dimHeight;
private int dimLen;
private int dimWidth;
private double weight;
public Box() {
}
public int getDimHeight() {
return this.dimHeight;
}
public void setDimHeight(int dimHeight) {
this.dimHeight = dimHeight;
}
public int getDimLen() {
return this.dimLen;
}
public void setDimLen(int dimLen) {
this.dimLen = dimLen;
}
public int getDimWidth() {
return this.dimWidth;
}
public void setDimWidth(int dimWidth) {
this.dimWidth = dimWidth;
}
public double getWeight() {
return this.weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
コードと例外は次のとおりです。
Field foo = Box.class.getField("dimWidth");
foo.setAccessible(true);
java.lang.NoSuchFieldException: dimWidth
at java.lang.Class.getField(Class.java:1520)