diff --git a/bundles/org.openhab.persistence.jpa/pom.xml b/bundles/org.openhab.persistence.jpa/pom.xml
index 3083c63c29036..fde7c736ea95a 100644
--- a/bundles/org.openhab.persistence.jpa/pom.xml
+++ b/bundles/org.openhab.persistence.jpa/pom.xml
@@ -15,10 +15,8 @@
openHAB Add-ons :: Bundles :: Persistence Service :: JPA
- !com.ibm.*,!com.sun.*,!oracle.*,!javax.interceptor.*,!javax.enterprise.*,!javax.rmi,!org.apache.bval.*,!net.sf.cglib.*,!org.apache.commons.beanutils.*,!org.apache.geronimo.*,!org.apache.avalon.*,!org.apache.log,!org.apache.tools.*,!org.apache.xerces.*,!org.jboss.*,!org.postgresql.*,!org.slf4j.impl,!weblogic.*,org.apache.derby.*;resolution:=optional
- 3.2.2
-
- 17
+ !com.ibm.*,!com.sun.*,!oracle.*,!jakarta.interceptor.*,!jakarta.enterprise.*,!javax.enterprise.*,!javax.transaction.*,!jakarta.xml.*,!javax.rmi,!org.apache.bval.*,!net.sf.cglib.*,!org.apache.commons.beanutils.*,!org.apache.geronimo.*,!org.apache.avalon.*,!org.apache.log,!org.apache.tools.*,!org.apache.xerces.*,!org.jboss.*,!org.postgresql.*,!org.slf4j.impl,!weblogic.*,org.apache.derby.*;resolution:=optional
+ 4.0.0
@@ -32,12 +30,12 @@
org.apache.derby
derby
- 10.14.2.0
+ 10.16.1.1
- javax.el
- el-api
- 2.2
+ jakarta.el
+ jakarta.el-api
+ 6.0.0-RC1
diff --git a/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/JpaPersistenceService.java b/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/JpaPersistenceService.java
index b782d4bd6d0cb..c4ffe55f4bf3b 100644
--- a/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/JpaPersistenceService.java
+++ b/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/JpaPersistenceService.java
@@ -19,12 +19,6 @@
import java.util.Map;
import java.util.Set;
-import javax.persistence.EntityExistsException;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-import javax.persistence.Query;
-
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.config.core.ConfigurableService;
@@ -49,6 +43,12 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import jakarta.persistence.EntityExistsException;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.Persistence;
+import jakarta.persistence.Query;
+
/**
* JPA based implementation of QueryablePersistenceService.
*
@@ -277,13 +277,13 @@ protected EntityManagerFactory newEntityManagerFactory() {
logger.trace("Creating EntityManagerFactory...");
Map properties = new HashMap<>();
- properties.put("javax.persistence.jdbc.url", config.dbConnectionUrl);
- properties.put("javax.persistence.jdbc.driver", config.dbDriverClass);
+ properties.put("jakarta.persistence.jdbc.url", config.dbConnectionUrl);
+ properties.put("jakarta.persistence.jdbc.driver", config.dbDriverClass);
if (!config.dbUserName.isBlank()) {
- properties.put("javax.persistence.jdbc.user", config.dbUserName);
+ properties.put("jakarta.persistence.jdbc.user", config.dbUserName);
}
if (!config.dbPassword.isBlank()) {
- properties.put("javax.persistence.jdbc.password", config.dbPassword);
+ properties.put("jakarta.persistence.jdbc.password", config.dbPassword);
}
if (config.dbUserName.isBlank() && config.dbPassword.isBlank()) {
logger.info("It is recommended to use a password to protect the JPA persistence data store");
diff --git a/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/model/JpaPersistentItem.java b/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/model/JpaPersistentItem.java
index 98412fdd2fb92..49ca0fd8c113d 100644
--- a/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/model/JpaPersistentItem.java
+++ b/bundles/org.openhab.persistence.jpa/src/main/java/org/openhab/persistence/jpa/internal/model/JpaPersistentItem.java
@@ -17,20 +17,20 @@
import java.time.ZonedDateTime;
import java.util.Date;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.persistence.HistoricItem;
import org.openhab.core.types.State;
import org.openhab.core.types.UnDefType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.TemporalType;
+
/**
* This is the DAO object used for storing and retrieving to and from database.
*