我想将具有java.awt.geom.Point2D字段的类放入db。可能吗?
这是我的代码。
@Entity
@Table(name = "my_class_table")
public class MyClass {
private String aliasId;
private Point2D field;
public Point2D getField() {
return field;
}
public void setFieldPoint2D field) {
this.field = field;
}
public String getAliasId() {
return aliasId;
}
public void setAliasId(String aliasId) {
this.aliasId = aliasId;
}
}
以及引发异常的原因:
无法确定类型:java.awt.geom.Point2D,在表:my_class_table,对于列:[org.hibernate.mapping.Column(field)]
当然,原因很明显。我的问题是:我应该如何注释该类以能够使用Point2D类的字段?有可能吗?
最佳答案
最简单的方法是使用扩展java.awt.Point
且为Point2D
类的Serializable
。休眠方式将自动使用SerializableType
映射它,而您无需执行其他任何操作。 point
对象将以其序列化形式保存在blob
数据库表列中。
您还可以选择为Point2D
类定义自定义的休眠类型。 Here is a link有关如何定义自定义休眠类型的信息。