小编sam*_*ubr的帖子

Liquibase:diff总是生成索引

我正在使用带有liquibase-maven-plugin的spring-boot来根据我的类生成数据库更改,但是"mvn compile liquibase:diff"命令总是会生成索引和外键的删除和包含,即使数据库已更新并且类没有变化(因此数据库中应该没有变化).

任何人都知道这是对的还是如何避免它?我只想在项目的变更集中生成对数据库的新更改.

java spring liquibase maven spring-boot

11
推荐指数
1
解决办法
357
查看次数

Hibernate中的布尔值true

是否可以将hibernate设置为保存-1而不是1作为数据库中布尔字段的真值?我需要-1来保持与Delphi中的其他程序的兼容性.

java hibernate jpa

6
推荐指数
1
解决办法
883
查看次数

空字符串字段作为空字段

默认情况下,Spring将空字符串字段保留为数据库中的空字符串。有没有办法使用Spring Boot将任何实体中所有空字符串字段持久化为空字段?

java hibernate spring-mvc spring-data-jpa spring-boot

2
推荐指数
1
解决办法
2024
查看次数

Spring Request Param中+(plus)的反序列化

我有一个简单的 HTTP GET 请求,如下所示:

http://localhost:8080/search?page=0&size=20&sort=id,asc&description=1+3

还有一个 RestController:

@RequestMapping(value = "/search", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<TestEntity>> search(Pageable pageable, @RequestParam("description") String description) {

    Page<TestEntity> page = service.search(pageable, description);
    HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(page);
    return ResponseEntity
            .ok()
            .headers(headers)
            .body(page.getContent());

}
Run Code Online (Sandbox Code Playgroud)

但是@RequestParam“描述”的值是“1 3”。

我究竟做错了什么?

或者我应该怎么做才能在 Spring 中将“+”之类的信号反序列化为“+” @RequestParam

这是我的 pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
    <project.http.version>1.23.0</project.http.version>
    <project.oauth.version>1.23.0</project.oauth.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId> …
Run Code Online (Sandbox Code Playgroud)

java rest spring spring-data-rest spring-boot

2
推荐指数
1
解决办法
5926
查看次数

无法使用 Spring Boot 3、Jakarta Persistence、QueryDql 和 Gradle 生成 Q 类

我正在尝试使用 Spring Boot 3、Jakarta Persistence、QueryDsl、Gradle 和 Intellij 生成 q 类。但运行后我无法生成 q-classes ./gradlew clean build。构建后,我收到此错误:Unable to load class 'jakarta.persistence.Entity'. This is an unexpected error. Please file a bug containing the idea.log file. 我搜索了互联网,但没有找到解决问题的答案,因为 Spring Boot 版本 3 是最新的。

有人能帮我吗?

这是我的 build.gradle


plugins {
    id 'org.springframework.boot' version '3.0.1'
    id 'io.spring.dependency-management' version '1.1.0'
    id 'java'
}

group = 'br.com.sammubr'
version = '0.0.1-SNAPSHOT'

java {
    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories { …
Run Code Online (Sandbox Code Playgroud)

java gradle querydsl spring-boot

1
推荐指数
1
解决办法
3257
查看次数