Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Spring数据jdbc中使用jsonb postgres格式_Spring_Postgresql_Spring Data_Jsonb_Spring Data Jdbc - Fatal编程技术网

在Spring数据jdbc中使用jsonb postgres格式

在Spring数据jdbc中使用jsonb postgres格式,spring,postgresql,spring-data,jsonb,spring-data-jdbc,Spring,Postgresql,Spring Data,Jsonb,Spring Data Jdbc,我有以下测试表: CREATE TABLE user ( id UUID NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4(), name VARCHAR(100), address jsonb ) 我要做的是将这个表加载到一个实体中 public class Buddy{ @Id private UUID id; private String name; private Address address; //gett

我有以下测试表:

CREATE TABLE user (
  id UUID NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4(),
  name VARCHAR(100),
  address jsonb
)
我要做的是将这个表加载到一个实体中

public class Buddy{
  @Id
  private UUID id;
  private String name;
  private Address address;

  //getter and setter
}
地址是什么

public class Address {
    @JsonProperty("name")
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
我不清楚如何将json字符串转换为java Pojo? 是否可以这样做,或者超出范围?

使用Spring数据JDBC 样本数据 -无法在PostgreSQL中创建名为“user”的数据库表

drop table users;

CREATE TABLE users (
    id VARCHAR(10) NOT NULL PRIMARY KEY,
    name VARCHAR(100),
    address jsonb
);


insert into users values('1', 'Jhon Doe', '{ "name": "Main St Anytown, USA"}');
存储库

@Repository
public interface BuddyRepository extends CrudRepository<Buddy, String>{

}
-

使用Spring数据JDBC 样本数据 -无法在PostgreSQL中创建名为“user”的数据库表

drop table users;

CREATE TABLE users (
    id VARCHAR(10) NOT NULL PRIMARY KEY,
    name VARCHAR(100),
    address jsonb
);


insert into users values('1', 'Jhon Doe', '{ "name": "Main St Anytown, USA"}');
存储库

@Repository
public interface BuddyRepository extends CrudRepository<Buddy, String>{

}
-


我知道,这是一个非常愚蠢的问题,但为什么我需要hibernate来处理spring数据jdbc?你不需要它,它是另一种选择。我只是使用Spring数据JDBC2添加了必要的代码,这真的很酷!非常感谢所有的碎片,伙计!为了进行测试,我删除了公共数据源pgDataSource,以便在应用程序中使用.yaml conf,并删除了集成测试confs,以获得测试荣誉!我知道,这是一个非常愚蠢的问题,但为什么我需要hibernate来处理spring数据jdbc?你不需要它,它是另一种选择。我只是使用Spring数据JDBC2添加了必要的代码,这真的很酷!非常感谢所有的碎片,伙计!为了进行测试,我删除了公共数据源pgDataSource,以便在应用程序中使用.yaml conf,并删除了集成测试confs,以获得测试荣誉!
<dependency>
    <groupId>com.vladmihalcea</groupId>
    <artifactId>hibernate-types-52</artifactId>
    <version>${hibernate-types.version}</version>
</dependency>
compile group: 'com.vladmihalcea', name: 'hibernate-types-52', version: '1.0.0'
import com.vladmihalcea.hibernate.type.json.JsonBinaryType
import org.hibernate.annotations.TypeDef

@TypeDef(name = "jsonb", typeClass = JsonBinaryType.class)
public class Buddy{
  @Id
  private UUID id;
  private String name;

  @Type(type = "jsonb")
  @Column(columnDefinition = "jsonb")
  private Address address;

  //getter and setter
}


@JsonInclude(JsonInclude.Include.NON_NULL)
public class Address {
    @JsonProperty("name")
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}