Skip to content

Commit 74a6730

Browse files
authored
Bump up spring data relational version (#185)
* Bump up spring dependencies * Add jdbcAggregateOperationsRef to @EnableJdbcRepositories * Polishing * Polishing * Migrate to JSpecify annotations for nullability constraints. * Polishing * Define repository base class name in JDBC config extension * Introduce and extract factory methods used from . * Optimize import * Fix lint * Use TIMESTAMP * Support composite key for spring-jdbc-plus-sql
1 parent e5cb5d6 commit 74a6730

File tree

133 files changed

+1375
-529
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+1375
-529
lines changed

buildSrc/src/main/groovy/spring.jdbc.plus.java-conventions.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,6 @@ checkstyle {
3333
dependencies {
3434
compileOnly("com.google.code.findbugs:jsr305:3.0.2")
3535
testCompileOnly("com.google.code.findbugs:jsr305:3.0.2")
36+
compileOnly("org.jspecify:jspecify:1.0.0")
37+
testCompileOnly("org.jspecify:jspecify:1.0.0")
3638
}

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
springBootVersion=4.0.0-M1
2-
springDataBomVersion=2025.1.0-M4
1+
springBootVersion=4.0.0
2+
springDataBomVersion=2025.1.0

guide-projects/plus-repository-guide/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ dependencies {
1414
implementation("org.springframework.data:spring-data-jdbc")
1515
implementation("org.springframework.data:spring-data-relational")
1616
implementation("org.springframework.data:spring-data-commons")
17+
compileOnly("org.jspecify:jspecify:1.0.0")
1718

1819
testImplementation("org.springframework.boot:spring-boot-starter-test")
1920
testImplementation("org.projectlombok:lombok")

guide-projects/plus-repository-guide/src/main/java/com/navercorp/spring/data/jdbc/plus/repository/guide/Application.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import org.springframework.boot.autoconfigure.SpringBootApplication;
2323
import org.springframework.context.annotation.Bean;
2424
import org.springframework.context.annotation.Primary;
25+
import org.springframework.data.jdbc.core.dialect.JdbcDialect;
2526
import org.springframework.data.jdbc.core.dialect.JdbcMySqlDialect;
26-
import org.springframework.data.relational.core.dialect.Dialect;
2727
import org.springframework.data.relational.core.sql.IdentifierProcessing;
2828

2929
/**
@@ -37,7 +37,7 @@ public static void main(String[] args) {
3737

3838
@Bean
3939
@Primary
40-
public Dialect mysqlDialect() {
40+
public JdbcDialect mysqlDialect() {
4141
return new JdbcMySqlDialect(
4242
IdentifierProcessing.create(
4343
new IdentifierProcessing.Quoting("`"),

guide-projects/plus-repository-guide/src/main/java/com/navercorp/spring/data/jdbc/plus/repository/guide/article/BooleanStateArticleRepository.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
package com.navercorp.spring.data.jdbc.plus.repository.guide.article;
2020

2121
import com.navercorp.spring.data.jdbc.plus.repository.JdbcRepository;
22-
import com.navercorp.spring.data.jdbc.plus.repository.guide.order.Order;
2322

2423
/**
2524
* @author Chanhyeong Cho
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@org.jspecify.annotations.NullMarked
2+
package com.navercorp.spring.data.jdbc.plus.repository.guide.article;
3+

guide-projects/plus-repository-guide/src/main/java/com/navercorp/spring/data/jdbc/plus/repository/guide/config/JdbcConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.Arrays;
44
import java.util.List;
55

6+
import org.jspecify.annotations.Nullable;
67
import org.springframework.context.annotation.Configuration;
78
import org.springframework.core.convert.converter.Converter;
89
import org.springframework.data.convert.ReadingConverter;
@@ -34,7 +35,7 @@ public String convert(EnumStateArticle.State source) {
3435
@ReadingConverter
3536
private static class ArticleStateReadingConverter implements Converter<String, EnumStateArticle.State> {
3637
@Override
37-
public State convert(String source) {
38+
public @Nullable State convert(String source) {
3839
return Arrays.stream(EnumStateArticle.State.values())
3940
.filter(it -> it.getCode().equals(source))
4041
.findFirst()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@org.jspecify.annotations.NullMarked
2+
package com.navercorp.spring.data.jdbc.plus.repository.guide.config;
3+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.navercorp.spring.data.jdbc.plus.repository.guide.coupon;
2+
3+
import java.util.UUID;
4+
5+
import org.springframework.data.annotation.Id;
6+
import org.springframework.data.relational.core.mapping.Column;
7+
import org.springframework.data.relational.core.mapping.Embedded;
8+
import org.springframework.data.relational.core.mapping.Table;
9+
10+
import lombok.Builder;
11+
12+
@Table("coupon")
13+
@Builder(toBuilder = true)
14+
public record Coupon(
15+
@Id
16+
@Embedded.Nullable
17+
CouponId id,
18+
@Column("discount_amt")
19+
long discountAmount,
20+
String purchaserNo
21+
) {
22+
public record CouponId(
23+
String couponId,
24+
String pubtId
25+
) {
26+
public static CouponId generate() {
27+
return new CouponId(
28+
UUID.randomUUID().toString(),
29+
UUID.randomUUID().toString()
30+
);
31+
}
32+
}
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.navercorp.spring.data.jdbc.plus.repository.guide.coupon;
2+
3+
import java.util.List;
4+
5+
import com.navercorp.spring.data.jdbc.plus.repository.JdbcRepository;
6+
import com.navercorp.spring.data.jdbc.plus.repository.guide.coupon.Coupon.CouponId;
7+
8+
public interface CouponRepository extends JdbcRepository<Coupon, CouponId> {
9+
List<Coupon> findByPurchaserNo(String purchaserNo);
10+
}

0 commit comments

Comments
 (0)