gpt4 book ai didi

java - Spring Boot 和 JPA+Postgres : Lob mapped to Text but integer is persisted

转载 作者:行者123 更新时间:2023-12-04 15:05:43 26 4
gpt4 key购买 nike

我创建了一个简单的 Spring Boot 应用程序,其中 JPA 连接到 Postgres 数据库。我想在数据库中存储大文本文件,为此我使用了 @Lob String 属性上的注释,JPA 成功将其映射到 Postgres 中的 Text 类型。但是,当我将实体持久化到数据库时,文本内容始终保存为不相关的整数。 varchar 按预期保留。请参阅下面的片段。我在这里错过了什么?
(为简化起见,省略了一些行)
示例实体.java:

@Entity
public class SampleEntity {
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private Long id;

@Column
private String varcharTest;

@Lob
private String textTest;
...
}
SampleRepository.java
@Repository
public interface SampleRepository extends JpaRepository<SampleEntity, Long> {
}
我的应用程序.yml:
spring:
datasource:
platform: postgres
url: jdbc:postgresql://myserver:32432/postgres
username: postgres
password: <password>
应用程序.java:
@SpringBootApplication
public class Application {
private static ApplicationContext ctx;

public static void main(String[] args) throws Exception {
ctx = SpringApplication.run(Application.class, args);
SampleEntity se = new SampleEntity();
se.setTextTest("abc1234");
se.setVarcharTest("xyz5678");
SampleRepository sampleRepo = ctx.getBean(SampleRepository.class);
sampleRepo.save(se);
Database Select

最佳答案

CLOB数据类型当前为 unsupported在 postgres 数据库中。您可以使用 text数据类型代替。要以字符串格式保存数据,只需使用 @Column(columnDefinition = "text")注解。

关于java - Spring Boot 和 JPA+Postgres : Lob mapped to Text but integer is persisted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66177987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com