Skip to content

Commit 81a2820

Browse files
committed
Merge branch 'develop'
2 parents 5a86dad + 6fcfa36 commit 81a2820

File tree

18 files changed

+81
-92
lines changed

18 files changed

+81
-92
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,5 @@ hs_err_pid*
2929
/bin/
3030

3131
src/main/java/info/unterrainer/commons/rdbutils/Information.java
32+
/.apt_generated/
33+
/.apt_generated_tests/

.project

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,15 @@
2020
<nature>org.eclipse.jdt.core.javanature</nature>
2121
<nature>org.eclipse.m2e.core.maven2Nature</nature>
2222
</natures>
23+
<filteredResources>
24+
<filter>
25+
<id>1658217977296</id>
26+
<name></name>
27+
<type>30</type>
28+
<matcher>
29+
<id>org.eclipse.core.resources.regexFilterMatcher</id>
30+
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
31+
</matcher>
32+
</filter>
33+
</filteredResources>
2334
</projectDescription>

deploy/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ services:
1616
networks:
1717
default:
1818
external:
19-
name: proxy_default
19+
name: proxy_default

pom.xml

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0"
2-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
1+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
42

53
<parent>
64
<groupId>info.unterrainer.commons</groupId>
@@ -10,7 +8,7 @@
108

119
<modelVersion>4.0.0</modelVersion>
1210
<artifactId>rdb-utils</artifactId>
13-
<version>0.2.0</version>
11+
<version>0.2.1</version>
1412
<name>RdbUtils</name>
1513
<packaging>jar</packaging>
1614

@@ -24,27 +22,27 @@
2422
<dependency>
2523
<groupId>info.unterrainer.commons</groupId>
2624
<artifactId>jre-utils</artifactId>
27-
<version>0.3.0</version>
25+
<version>0.3.6</version>
2826
</dependency>
2927
<dependency>
30-
<groupId>javax.persistence</groupId>
31-
<artifactId>javax.persistence-api</artifactId>
32-
<version>2.2</version>
28+
<groupId>jakarta.persistence</groupId>
29+
<artifactId>jakarta.persistence-api</artifactId>
30+
<version>3.1.0</version>
3331
</dependency>
3432
<dependency>
3533
<groupId>org.hibernate</groupId>
3634
<artifactId>hibernate-c3p0</artifactId>
37-
<version>5.4.15.Final</version>
35+
<version>6.1.1.Final</version>
3836
</dependency>
3937
<dependency>
4038
<groupId>org.hibernate</groupId>
4139
<artifactId>hibernate-core</artifactId>
42-
<version>5.4.24.Final</version>
40+
<version>6.1.1.Final</version>
4341
</dependency>
4442
<dependency>
4543
<groupId>org.hibernate</groupId>
4644
<artifactId>hibernate-entitymanager</artifactId>
47-
<version>5.4.15.Final</version>
45+
<version>5.6.10.Final</version>
4846
</dependency>
4947
<dependency>
5048
<groupId>org.liquibase</groupId>
@@ -74,11 +72,10 @@
7472
<execution>
7573
<id>analyze</id>
7674
<configuration>
77-
<ignoredUnusedDeclaredDependencies
78-
combine.children="append">
79-
<ignoredUnusedDeclaredDependency>javax.persistence:javax.persistence-api</ignoredUnusedDeclaredDependency>
75+
<ignoredUnusedDeclaredDependencies combine.children="append">
76+
<ignoredUnusedDeclaredDependency>jakarta.persistence:jakarta.persistence-api</ignoredUnusedDeclaredDependency>
8077
<ignoredUnusedDeclaredDependency>mysql:mysql-connector-java</ignoredUnusedDeclaredDependency>
81-
<ignoredUnusedDeclaredDependency>org.eclipse.persistence:javax.persistence</ignoredUnusedDeclaredDependency>
78+
<ignoredUnusedDeclaredDependency>org.eclipse.persistence:jakarta.persistence</ignoredUnusedDeclaredDependency>
8279
<ignoredUnusedDeclaredDependency>org.hibernate:hibernate-c3p0</ignoredUnusedDeclaredDependency>
8380
<ignoredUnusedDeclaredDependency>org.hibernate:hibernate-core</ignoredUnusedDeclaredDependency>
8481
<ignoredUnusedDeclaredDependency>org.hibernate:hibernate-entitymanager</ignoredUnusedDeclaredDependency>

src/main/java/info/unterrainer/commons/rdbutils/RdbConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public static RdbConfiguration read(final String prefix) {
2929
p = prefix;
3030
RdbConfiguration config = new RdbConfiguration();
3131
config.driver = Optional.ofNullable(System.getenv(p + "DB_DRIVER")).orElse("mariadb");
32-
config.server = Optional.ofNullable(System.getenv(p + "DB_SERVER")).orElse("10.10.196.4");
32+
config.server = Optional.ofNullable(System.getenv(p + "DB_SERVER")).orElse("localhost");
3333
config.port = Optional.ofNullable(System.getenv(p + "DB_PORT")).orElse("3306");
3434
config.name = Optional.ofNullable(System.getenv(p + "DB_NAME")).orElse("test");
3535
config.user = Optional.ofNullable(System.getenv(p + "DB_USER")).orElse("test");

src/main/java/info/unterrainer/commons/rdbutils/RdbUtils.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@
99
import java.util.List;
1010
import java.util.Map;
1111

12-
import javax.persistence.EntityManagerFactory;
13-
import javax.persistence.Persistence;
14-
1512
import info.unterrainer.commons.jreutils.Resources;
1613
import info.unterrainer.commons.jreutils.ShutdownHook;
1714
import info.unterrainer.commons.rdbutils.exceptions.RdbUtilException;
15+
import jakarta.persistence.EntityManagerFactory;
16+
import jakarta.persistence.Persistence;
1817
import liquibase.Contexts;
1918
import liquibase.LabelExpression;
2019
import liquibase.Liquibase;
@@ -28,9 +27,9 @@
2827
@Slf4j
2928
public class RdbUtils {
3029

31-
public static final String PROPERTY_NAME_URL = "javax.persistence.jdbc.url";
32-
public static final String PROPERTY_NAME_USER = "javax.persistence.jdbc.user";
33-
public static final String PROPERTY_NAME_PASSWORD = "javax.persistence.jdbc.password";
30+
public static final String PROPERTY_NAME_URL = "jakarta.persistence.jdbc.url";
31+
public static final String PROPERTY_NAME_USER = "jakarta.persistence.jdbc.user";
32+
public static final String PROPERTY_NAME_PASSWORD = "jakarta.persistence.jdbc.password";
3433

3534
/**
3635
* Creates a new {@link EntityManagerFactory} with default-parameters or

src/main/java/info/unterrainer/commons/rdbutils/Transactions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import java.util.function.Consumer;
44
import java.util.function.Function;
55

6-
import javax.persistence.EntityManager;
7-
import javax.persistence.EntityManagerFactory;
6+
import jakarta.persistence.EntityManagerFactory;
7+
import jakarta.persistence.EntityManager;
88

99
import lombok.AccessLevel;
1010
import lombok.NoArgsConstructor;

src/main/java/info/unterrainer/commons/rdbutils/converters/LocalDateTimeConverter.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,25 @@
44
import java.time.LocalDateTime;
55
import java.time.temporal.ChronoUnit;
66

7-
import javax.persistence.AttributeConverter;
8-
import javax.persistence.Converter;
9-
10-
import info.unterrainer.commons.jreutils.DateUtils;
7+
import jakarta.persistence.AttributeConverter;
8+
import jakarta.persistence.Converter;
119

1210
@Converter()
1311
public class LocalDateTimeConverter implements AttributeConverter<LocalDateTime, Timestamp> {
1412

1513
@Override
1614
public Timestamp convertToDatabaseColumn(final LocalDateTime entityValue) {
17-
return entityValue == null ? null
18-
: new Timestamp(DateUtils.utcLocalDateTimeToEpoch(entityValue.truncatedTo(ChronoUnit.MICROS)));
15+
if (entityValue == null)
16+
return null;
17+
Timestamp timestamp = Timestamp.valueOf(entityValue);
18+
timestamp.setNanos(entityValue.truncatedTo(ChronoUnit.MICROS).getNano());
19+
return timestamp;
1920
}
2021

2122
@Override
2223
public LocalDateTime convertToEntityAttribute(final Timestamp dbValue) {
23-
return dbValue == null ? null : DateUtils.epochToUtcLocalDateTime(dbValue.getTime());
24+
if (dbValue == null)
25+
return null;
26+
return dbValue.toLocalDateTime();
2427
}
2528
}

src/main/java/info/unterrainer/commons/rdbutils/converters/ZonedDateTimeConverter.java

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/main/java/info/unterrainer/commons/rdbutils/entities/BasicAsyncJpa.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package info.unterrainer.commons.rdbutils.entities;
22

3-
import javax.persistence.EnumType;
4-
import javax.persistence.Enumerated;
5-
import javax.persistence.MappedSuperclass;
3+
import jakarta.persistence.EnumType;
4+
import jakarta.persistence.Enumerated;
5+
import jakarta.persistence.MappedSuperclass;
66

77
import info.unterrainer.commons.rdbutils.enums.AsyncState;
88
import lombok.Data;

src/main/java/info/unterrainer/commons/rdbutils/entities/BasicJpa.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
import java.time.LocalDateTime;
44

5-
import javax.persistence.Convert;
6-
import javax.persistence.GeneratedValue;
7-
import javax.persistence.GenerationType;
8-
import javax.persistence.Id;
9-
import javax.persistence.MappedSuperclass;
5+
import jakarta.persistence.Convert;
6+
import jakarta.persistence.GeneratedValue;
7+
import jakarta.persistence.GenerationType;
8+
import jakarta.persistence.Id;
9+
import jakarta.persistence.MappedSuperclass;
1010

1111
import info.unterrainer.commons.rdbutils.converters.LocalDateTimeConverter;
1212
import lombok.Data;

src/test/java/info/unterrainer/commons/rdbutils/HibernateDialectTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import java.time.LocalDateTime;
66
import java.util.List;
77

8-
import javax.persistence.EntityManagerFactory;
9-
import javax.persistence.Query;
8+
import jakarta.persistence.EntityManagerFactory;
9+
import jakarta.persistence.Query;
1010

1111
import org.junit.jupiter.api.BeforeAll;
1212
import org.junit.jupiter.api.Test;

src/test/java/info/unterrainer/commons/rdbutils/LocalDateTimeConverterTests.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import java.sql.Timestamp;
66
import java.time.LocalDateTime;
7+
import java.time.temporal.ChronoUnit;
78

89
import org.junit.jupiter.api.Test;
910

@@ -18,15 +19,18 @@ public class LocalDateTimeConverterTests {
1819
public void conversionFromLocalDateTimeToTimestamp() {
1920
LocalDateTime d = DateUtils.nowUtc();
2021
Timestamp ts = converter.convertToDatabaseColumn(d);
21-
22-
assertThat(DateUtils.utcLocalDateTimeToEpoch(d)).isEqualTo(ts.getTime());
22+
assertThat(ts.toLocalDateTime()).isEqualTo(d.truncatedTo(ChronoUnit.MICROS));
2323
}
2424

2525
@Test
2626
public void conversionFromTimestampToLocalDateTime() {
27-
Timestamp ts = new Timestamp(DateUtils.utcLocalDateTimeToEpoch(DateUtils.nowUtc()));
27+
LocalDateTime now = DateUtils.nowUtc();
28+
Timestamp ts = new Timestamp(DateUtils.utcLocalDateTimeToEpoch(now));
2829
LocalDateTime d = converter.convertToEntityAttribute(ts);
2930

30-
assertThat(ts.getTime()).isEqualTo(DateUtils.utcLocalDateTimeToEpoch(d));
31+
Timestamp timestamp = Timestamp.valueOf(d);
32+
timestamp.setNanos(d.truncatedTo(ChronoUnit.MICROS).getNano());
33+
34+
assertThat(d).isEqualTo(ts.toLocalDateTime());
3135
}
3236
}

src/test/java/info/unterrainer/commons/rdbutils/ManualLockingTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
import java.util.concurrent.ThreadPoolExecutor;
77
import java.util.concurrent.TimeUnit;
88

9-
import javax.persistence.EntityManagerFactory;
10-
import javax.persistence.LockModeType;
11-
import javax.persistence.Query;
12-
import javax.persistence.TypedQuery;
9+
import jakarta.persistence.EntityManagerFactory;
10+
import jakarta.persistence.LockModeType;
11+
import jakarta.persistence.Query;
12+
import jakarta.persistence.TypedQuery;
1313

1414
import org.junit.jupiter.api.BeforeAll;
1515
import org.junit.jupiter.api.Test;

src/test/java/info/unterrainer/commons/rdbutils/ManualTests.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package info.unterrainer.commons.rdbutils;
22

33
import static org.assertj.core.api.Assertions.assertThat;
4+
import static org.junit.jupiter.api.Assertions.assertEquals;
45

56
import java.time.LocalDateTime;
67
import java.time.temporal.ChronoUnit;
78

8-
import javax.persistence.EntityManagerFactory;
9-
import javax.persistence.Query;
10-
import javax.persistence.TypedQuery;
9+
import jakarta.persistence.EntityManagerFactory;
10+
import jakarta.persistence.Query;
11+
import jakarta.persistence.TypedQuery;
1112

1213
import org.junit.jupiter.api.BeforeAll;
1314
import org.junit.jupiter.api.BeforeEach;
@@ -46,7 +47,7 @@ public void persistingAndReadingEntityWorks() {
4647
persistTestEntity(testJpa);
4748
TestJpa jpa = selectFirstTestEntity();
4849
assertThat(jpa.getMessage()).isEqualTo(testJpa.getMessage());
49-
assertThat(jpa.getCreatedOn()).isEqualTo(testJpa.getCreatedOn().truncatedTo(ChronoUnit.MICROS));
50+
assertEquals(jpa.getCreatedOn(), testJpa.getCreatedOn().truncatedTo(ChronoUnit.MICROS));
5051
assertThat(jpa.getEditedOn()).isEqualTo(testJpa.getEditedOn().truncatedTo(ChronoUnit.MICROS));
5152
}
5253

src/test/java/info/unterrainer/commons/rdbutils/TransactionalTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44

5-
import javax.persistence.EntityManager;
6-
import javax.persistence.EntityManagerFactory;
7-
import javax.persistence.Query;
5+
import jakarta.persistence.EntityManager;
6+
import jakarta.persistence.EntityManagerFactory;
7+
import jakarta.persistence.Query;
88

99
import org.junit.jupiter.api.Test;
1010

src/test/java/info/unterrainer/commons/rdbutils/jpas/TestJpa.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package info.unterrainer.commons.rdbutils.jpas;
22

3-
import javax.persistence.Entity;
4-
import javax.persistence.Table;
3+
import jakarta.persistence.Entity;
4+
import jakarta.persistence.Table;
55

66
import info.unterrainer.commons.rdbutils.entities.BasicJpa;
77
import lombok.Data;

src/test/resources/META-INF/persistence.xml

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<persistence version="2.2"
3-
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
4-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5-
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
2+
<persistence version="3.0" xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd">
63
<persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
74
<!-- Hibernate specific -->
85
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
96

107
<class>info.unterrainer.commons.rdbutils.entities.BasicJpa</class>
118
<class>info.unterrainer.commons.rdbutils.converters.LocalDateTimeConverter</class>
12-
9+
1310
<properties>
1411
<!-- Hibernate-specific / MariaDB-JDBC-driver specific -->
15-
<property name="javax.persistence.jdbc.driver" value="org.mariadb.jdbc.Driver" />
12+
<property name="jakarta.persistence.jdbc.driver" value="org.mariadb.jdbc.Driver" />
1613
<property name="hibernate.connection.driver_class" value="org.mariadb.jdbc.Driver" />
1714
<property name="hibernate.dialect" value="org.hibernate.dialect.MariaDBDialect" />
1815
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false" />
19-
<property name="hibernate.jdbc.time_zone" value="UTC"/>
20-
16+
<property name="hibernate.jdbc.time_zone" value="UTC" />
17+
2118
<property name="hibernate.show_sql" value="false" />
2219
<property name="hibernate.format_sql" value="false" />
2320
<property name="hibernate.c3p0.min_size" value="5" />

0 commit comments

Comments
 (0)