我无法在创建模式下以Hibernate空间启动我的Spring启动(2.6.3)项目。它告诉我类型“几何不存在”。几何类型来自Hibernate空间库。
但是,我应用了所有必要的东西:
>
添加Hibernate空间依赖项(我的版本5.6.3.Final)
使用组织.hibernate.空间.方言.postgis.Postgis方言 此外,该类已被弃用,文档对应于相同的版本,它仍然指示使用它,我不明白任何东西(https://docs.jboss.org/hibernate/orm/5.6/userguide /html_single/Hibernate_User_Guide.html#spatial)
使用geolatte组或jts组中的几何类型,尽管我有一个错误,它无法创建表,因为类型“几何不存在”。
这是我的maven依赖项:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>5.6.3.Final</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.3.1</version>
</dependency>
<!--<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.18.2</version>
</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
我的物业:
spring:
datasource:
driver-class-name: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/postgres?currentSchema=hibernatespatial
username: postgres
password:
jpa:
hibernate:
ddl-auto: create
show-sql: true
properties:
hibernate:
dialect: org.hibernate.spatial.dialect.postgis.PostgisDialect
open-in-view: false
database-platform: org.hibernate.spatial.dialect.postgis.PostgisDialect
我的实体类:
package org.test.hibernate.spatial;
import org.geolatte.geom.Geometry;
import javax.persistence.*;
@Entity
@Table
public class Person {
@Id
@GeneratedValue
private Long id;
private String name;
private String lastname;
private String age;
private Geometry geom;
public Geometry getGeom() {
return geom;
}
public void setGeom(Geometry geom) {
this.geom = geom;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
我的存储库类:
package org.test.hibernate.spatial;
import org.springframework.data.jpa.repository.JpaRepository;
public interface PersonRepository extends JpaRepository<Person, Long> {
}
我的引导类:
package org.test.hibernate.spatial;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableJpaRepositories
@EnableTransactionManagement
public class TestHibernateSpatialApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(TestHibernateSpatialApplication.class, args);
}
public void run(String... args) throws Exception {
}
}
我的postgreSQL数据库是14版本。有人知道出了什么问题吗?
PostGIS是Postgres扩展,需要为每个数据库启用:
安装PostGIS后,需要在您要在其中使用它的每个单独数据库中启用(第3.3节,“创建空间数据库”)或升级(第3.4节,“升级空间数据库”)。
[…]
在您要在空间上启用的数据库中运行以下SQL片段:
CREATE EXTENSION IF NOT EXISTS plpgsql;
CREATE EXTENSION postgis;
还要注意,扩展默认安装在默认模式中(例如< code>public)。因此,在使用< code>currentSchema选项时,一定不要意外地排除了安装postgis的模式。为了防止这种情况,可以将postgis模式添加到< code>currentSchema(例如< code > JDBC:PostgreSQL://localhost:5432/tst?currentSchema=app1,html" target="_blank">public),或将postgis移至首选方案。
将Hibernate空间升级到版本5.0.0.CR2后,以下声明不再起作用: 与一个: 如我所见,这个类不再存在于Jar文件中。几何类型发生了什么变化,它是如何被取代的?或者有另一个jar文件要包含吗? 编辑:澄清。我正在将Hibernate-Spatial与PostgreSQL-Postgis数据库结合使用。
我是Spring MVC和HiberNate的新手,我的会话配置有问题。我是通过使用Hibernate来做到这一点的。我现在想做的是将在DAO中自动装配会话工厂。 这是应用程序上下文。xml - 这是完整的堆栈跟踪。 这是刀的代码 购物车控制器
我跟着Spring走。io是一个关键的教程,可以让REST API与MySQL DB一起启动,一切都进展顺利。然而,我发现了一个我无法配置或解决的行为。 当我使用内置功能从PagingAndSortingRepository中检索资源时,生成的剩余资源会自动分页,并用有用的HAL链接(链接、self、搜索、链接资源等)进行封装。我想用这个。 当我实现我的控制器来定制PostMapping行为并引入
问题内容: 他们幸福地结婚了吗? 我正在使用最新版本的hibernate(4)和1.3版的joda-time hibernate支持,我也相信这是当前的最新版本。 使用注释时,一切似乎都正常(按预期方式创建了日期列): 一起使用这些版本是否存在任何已知问题? Update Well证明已创建列,但无法填充任何数据: 处理程序处理失败; 嵌套异常是java.lang.AbstractMethodEr
另一种方法是使用Crieteria关联,但关联只能与和一起工作! 请在这里帮帮我。
我必须在