我正在尝试使用PostgreSQL 9.1和PostGIS 1.5使用GlassFish 4创建一个JPA实体。
我已经通过在 domain/lib 目录中添加 postgres-jdbc
和 postgis-jdbc
jar 来创建/配置了一个数据源。
我已经创建了一个简单的实体< code>MyPoint来处理PostGIS点:
@Entity
public class MyPoint implements Serializable {
private static final long serialVersionUID = 1595466016586244423L;
@Id
private int id;
@Column(columnDefinition="Geometry")
private Point the_geom;
public MyPoint() {
super();
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public Point getPoint() {
return this.the_geom;
}
public void setPoint(Point p) {
this.point = p;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "Point [id=" + id + ", point=" + the_geom + "]";
}
}
和一个带有createPoint()
方法的点主页,如下所示:
@Stateless(name="PointHome")
public class PointHome {
@PersistenceContext
private EntityManager entityManager;
public MyPoint createPoint(MyPoint point){
entityManager.persist(point);
return point;
}
}
在战争部署中,将创建包含列id
和the_geom
的表MyPoint
。列the_geom
类型为几何
。这是表架构:
CREATE TABLE mypoint
(
id integer NOT NULL,
the_geom geometry,
CONSTRAINT mypoint_pkey PRIMARY KEY (id )
)
问题是在实体管理器上调用persist()
方法时:
MyPoint z = new MyPoint();
z.setPoint(new Point(6, 43));
System.err.println(z);
zoneHome.createPoint(z);
我有一个< code > org . eclipse . persistence . exceptions . database exception 。
异常[EclipseLink-4002](Eclipse持久性服务-2.5.0.v20130507-3faac2b):org.Eclipse.Persistence.exceptions。DatabaseException内部异常:org.postgresql.util。PSQLException:错误:解析错误-无效几何体提示:必须指定有效的OGC WKT几何体类型,例如POINT、LINESTRING或POLYGON
…
原因:org.postgresql.util。PSQLException:错误:解析错误-无效几何体提示:必须指定有效的OGC WKT几何体类型,例如POINT、LINESTRING或POLYGON错误代码:0调用:INSERT INTO MYPOINT(ID,THE_GEOM)VALUES(?,?)
绑定=
有什么想法吗?
使用HiberNate空间扩展(http://www.hibernatespatial.org/)与更改的MyPoint
实体:
@Entity
public class MyPoint implements Serializable {
//...
@Type(type="org.hibernate.spatial.GeometryType")
private Point the_geom;
//...
}
问题内容: 我想使用JPA 2.0映射来自PostGIS的数据类型。我用谷歌搜索解决方案或示例,但我能找到的是JPA不支持自定义数据类型的映射。在JPA 2.0中还是这样吗?有人暗示一个例子吗? 问题答案: 我用谷歌搜索解决方案或示例,但我能找到的是,JPA不支持自定义数据类型的映射。它仍然在JPA 2.0中吗? 是。因此,您必须依赖特定的扩展。对于Hibernate,Hibernate Spat
我正在从GlassFish 4迁移到WildFly8应用程序服务器并收到以下错误: 我使用Hibernate空间和PostGIS。对于Glassfish服务器,我将postgis jar添加到 /lib/ext文件夹以修复该错误。 我按照本教程中的步骤:https://gist.github.com/bjornharrtell/3054462,但它对我不起作用,即我将这些模块添加到 /org/hi
我有一个企业java项目。一切都很好,直到我犯了这个错误 部署过程中发生错误:加载应用程序时出现异常:java.lang.IllegalStateExc的:ContainerBase.add子级:开始:org.apache.catalina.生命周期异常:java.lang.IllegalArgumentExc的:javax.servlet.ServletExc的:com.sun.enterpri
我有一个使用JPA注释生成数据库主键的代码。一个数据库序列用于使用Oracle DB生成PK.Am 现在我对此的理解是:DB sequencer返回的sequence id作为rec_id。这是正确的吗? 医生说: 序列策略序列策略由两部分组成——定义命名序列和在一个或多个类的一个或多个字段中使用命名序列。@Sequence Generator注释用于定义序列并接受名称、初始值(默认值为1)和分配
今天我读了关于ModelMapper的文章,它似乎很有趣,但我不确定它的正确用法。 我有一个类似这样的Spring项目:我有序列化所必需的模型类。我的REST控制器将DTO对象返回到前端。我的前端将DTO返回给我的控制器,然后我需要DTO中的模型对象将其写入数据库。 我有一个人类,它有一个属性,比如:
问题内容: 我在PostgreSQL数据库中创建了一个函数,希望使用JPA 2.1的StoredProcedureQuery方法调用该函数。 这是我的PostgreSQL查询: 这只是一个简单的查询,可以计算特定日期的用户。这只是一个演示查询,用于测试StoredProcedureQueries的工作方式。实际上,当仅通过postgreSQL使用时,它就可以正常工作。 现在,让我们尝试使用JPA