上次為了把geom型態的物件整進hibernate~ google上找了很久=_=|||
真是超冷門的
lib:
能讓hibernate3跑的jars +
hibernate-spatial-1.0-M2.jar +
hibernate-spatial-postgis-1.0-M2.jar(db選用) +
jts-1.8.jar
jdbc jar:(好像是這樣子分的O_oa)
postgresql-8.3-604.jdbc3.jar (jdk 1.5-選用)
postgresql-8.3-604.jdbc4.jar (jdk 1.6+選用)
postgis_1.3.2.jar
hibernate.cfg.xml:
< property name="dialect">org.hibernatespatial.postgis.PostgisDialect< /property>
< property name="connection.driver_class">org.postgresql.Driver< /property>
hbm.xml(geom物件O/R mapping):
< property name="geom" column="geom" type="org.hibernatespatial.GeometryUserType" / >
Object import:
import com.vividsolutions.jts.geom.Geometry;
Bean property:
Geometry geom;
New Object:(用到的是POINT, 不知道是不是因為POINT太簡單, 居然找不到範例orz, 亂點了好久才湊出來Q_Q|||)
import com.vividsolutions.jts.geom.*;
protected void createGeom(double x, double y) {
if(g == null) {
Coordinate coord = new Coordinate();
coord.x = x;
coord.y = y;
g = Constant.GeomFactory.createPoint(coord);
g.setSRID(Constant.SRID);
}
}
實作支援他的open source是hibernatespatial, 關鍵字用"hibernate spatial"比較好查
release downlaod網址:
http://www.hibernatespatial.org/download.html
不過被同事念說沒提供線段映射method, 沒提供就用db跑阿~真是的XD..
沒有留言:
張貼留言