Skip to content
This repository was archived by the owner on Jul 31, 2020. It is now read-only.

Commit d4b5e00

Browse files
committed
update
1 parent 4c1f4ee commit d4b5e00

File tree

3 files changed

+47
-26
lines changed

3 files changed

+47
-26
lines changed

src/main/java/cn/javaer/snippets/box/spring/data/jooq/jdbc/JsonbConverter.java

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package cn.javaer.snippets.box.spring.data.jooq.jdbc;
2+
3+
import org.jooq.JSONB;
4+
import org.postgresql.util.PGobject;
5+
import org.springframework.core.convert.converter.Converter;
6+
import org.springframework.data.convert.ReadingConverter;
7+
import org.springframework.data.convert.WritingConverter;
8+
9+
/**
10+
* @author cn-src
11+
*/
12+
public class JsonbConverters {
13+
14+
public static final ToJsonbConverter TO_JSONB_CONVERTER = ToJsonbConverter.INSTANCE;
15+
public static final JsonbToConverter JSONB_TO_CONVERTER = JsonbToConverter.INSTANCE;
16+
17+
@ReadingConverter
18+
private enum ToJsonbConverter implements Converter<PGobject, JSONB> {
19+
20+
/**
21+
* 单实例.
22+
*/
23+
INSTANCE;
24+
25+
@Override
26+
public JSONB convert(final PGobject source) {
27+
return JSONB.valueOf(source.getValue());
28+
}
29+
}
30+
31+
@WritingConverter
32+
private enum JsonbToConverter implements Converter<JSONB, String> {
33+
34+
/**
35+
* 单实例.
36+
*/
37+
INSTANCE;
38+
39+
@Override
40+
public String convert(final JSONB source) {
41+
return source.data();
42+
}
43+
}
44+
}

src/main/java/cn/javaer/snippets/spring/boot/autoconfigure/data/jooq/jdbc/JooqJdbcRepositoriesAutoConfiguration.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package cn.javaer.snippets.spring.boot.autoconfigure.data.jooq.jdbc;
22

3-
import cn.javaer.snippets.box.spring.data.jooq.jdbc.JsonbConverter;
3+
import cn.javaer.snippets.box.spring.data.jooq.jdbc.JsonbConverters;
44
import cn.javaer.snippets.box.spring.data.jooq.jdbc.config.EnableJooqJdbcRepositories;
55
import cn.javaer.snippets.box.spring.data.jooq.jdbc.config.JooqJdbcRepositoryConfigExtension;
66
import org.jooq.DSLContext;
@@ -18,7 +18,7 @@
1818
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
1919
import org.springframework.transaction.PlatformTransactionManager;
2020

21-
import java.util.Collections;
21+
import java.util.Arrays;
2222

2323
/**
2424
* @author cn-src
@@ -44,7 +44,7 @@ static class JooqJdbcRepositoriesConfiguration {
4444
static class SpringBootJooqJdbcConfiguration extends AbstractJdbcConfiguration {
4545
@Override
4646
public JdbcCustomConversions jdbcCustomConversions() {
47-
return new JooqJdbcCustomConversions(Collections.singletonList(JsonbConverter.INSTANCE));
47+
return new JooqJdbcCustomConversions(Arrays.asList(JsonbConverters.JSONB_TO_CONVERTER, JsonbConverters.TO_JSONB_CONVERTER));
4848
}
4949
}
5050
}

0 commit comments

Comments
 (0)