summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2023-08-06 16:21:11 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2023-08-06 18:46:57 +0200
commite3bc3ee826b95168fed2f62f8e1019bad457e39e (patch)
treef1e209919af11b86e0e7e0a3a33a19d1cc91184b
parent98cee8d5ba9713c82cf66d674ac257af90d2b6ff (diff)
Updates for Quarkus 3.
Change-Id: I14aff18aa1e31944619dfb6cc57955484227b298
-rw-r--r--pom.xml34
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java28
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java14
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java40
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java8
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java10
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java12
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java8
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java10
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java28
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java10
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java6
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java14
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java10
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java14
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java6
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java2
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java54
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java50
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java34
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java12
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java18
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/users/User.java30
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java18
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java18
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java18
-rw-r--r--src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java30
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java8
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java20
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java26
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java8
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java12
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java18
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java18
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java18
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java24
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java14
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java10
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java8
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java8
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java24
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java2
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java10
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java20
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java8
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/Password.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/User.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java16
-rw-r--r--src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java4
-rw-r--r--src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateFunctionContributor.java28
-rw-r--r--src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateMetadataBuilderContributor.java12
-rw-r--r--src/main/java/eu/mulk/mulkcms2/common/hibernate/PostMatchesWebsearchFunction.java11
-rw-r--r--src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java2
-rw-r--r--src/main/resources/META-INF/services/ org.hibernate.boot.model.FunctionContributor1
-rw-r--r--src/main/resources/application.properties1
82 files changed, 580 insertions, 571 deletions
diff --git a/pom.xml b/pom.xml
index a537b8d..c225f29 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,11 +32,12 @@
<quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id>
<basic-annotations.version>0.2.0</basic-annotations.version>
+ <blaze-persistence.version>1.6.9</blaze-persistence.version>
<findbugs-jsr305.version>3.0.2</findbugs-jsr305.version>
<flexmark.version>0.64.4</flexmark.version>
<google.java.format.version>1.15.0</google.java.format.version>
- <hibernate.version>5.6.15.Final</hibernate.version>
- <hibernate-types.version>2.21.1</hibernate-types.version>
+ <hibernate.version>6.2.7.Final</hibernate.version>
+ <hibernate-types.version>3.5.1</hibernate-types.version>
<jakarta-jacc-api.version>1.6.1</jakarta-jacc-api.version>
<jna.version>5.13.0</jna.version>
<jsoup.version>1.16.1</jsoup.version>
@@ -57,10 +58,18 @@
<scope>import</scope>
</dependency>
+ <dependency>
+ <groupId>com.blazebit</groupId>
+ <artifactId>blaze-persistence-bom</artifactId>
+ <version>${blaze-persistence.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
<!-- Hibernate PostgreSQL Extra Types -->
<dependency>
- <groupId>com.vladmihalcea</groupId>
- <artifactId>hibernate-types-55</artifactId>
+ <groupId>io.hypersistence</groupId>
+ <artifactId>hypersistence-utils-hibernate-62</artifactId>
<version>${hibernate-types.version}</version>
</dependency>
@@ -203,11 +212,11 @@
<!-- Quarkus universe -->
<dependency>
<groupId>com.blazebit</groupId>
- <artifactId>blaze-persistence-integration-quarkus</artifactId>
+ <artifactId>blaze-persistence-integration-quarkus-3</artifactId>
</dependency>
<dependency>
<groupId>com.blazebit</groupId>
- <artifactId>blaze-persistence-integration-hibernate-5.6</artifactId>
+ <artifactId>blaze-persistence-integration-hibernate-6.2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
@@ -234,8 +243,8 @@
<!-- Hibernate PostgreSQL Extra Types -->
<dependency>
- <groupId>com.vladmihalcea</groupId>
- <artifactId>hibernate-types-55</artifactId>
+ <groupId>io.hypersistence</groupId>
+ <artifactId>hypersistence-utils-hibernate-62</artifactId>
</dependency>
<!-- Annotations -->
@@ -277,9 +286,8 @@
<!-- Hibernate -->
<dependency>
- <groupId>org.hibernate</groupId>
+ <groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
- <version>${hibernate.version}</version>
<scope>provided</scope>
</dependency>
@@ -345,17 +353,17 @@
<version>${liquibase.version}</version>
</dependency>
<dependency>
- <groupId>org.hibernate</groupId>
+ <groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
- <groupId>org.hibernate</groupId>
+ <groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
- <groupId>org.hibernate</groupId>
+ <groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-envers</artifactId>
<version>${hibernate.version}</version>
</dependency>
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java
index 05e4bb5..c794b14 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java
@@ -2,15 +2,15 @@ package eu.mulk.mulkcms2.benki.accesscontrol;
import eu.mulk.mulkcms2.benki.users.User;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import java.math.BigInteger;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "page_keys", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java
index f79686f..71393a2 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.benki.accesscontrol;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class PageKeyPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java
index 1d66939..e07765a 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java
@@ -4,24 +4,24 @@ import eu.mulk.mulkcms2.benki.posts.PostTarget;
import eu.mulk.mulkcms2.benki.users.User;
import eu.mulk.mulkcms2.benki.users.UserRole;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
import java.util.Collection;
import java.util.Objects;
import java.util.Set;
import javax.annotation.CheckForNull;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
import org.hibernate.annotations.LazyToOne;
import org.hibernate.annotations.LazyToOneOption;
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java
index 256c988..01e8a99 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java
@@ -1,15 +1,15 @@
package eu.mulk.mulkcms2.benki.bookmarks;
import eu.mulk.mulkcms2.benki.posts.Post;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.Table;
import java.util.Set;
import javax.annotation.CheckForNull;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.JoinColumn;
-import javax.persistence.Table;
@Entity
@Table(name = "bookmarks", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java
index a2d8831..c9304b5 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.benki.bookmarks;
-import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static javax.ws.rs.core.MediaType.MULTIPART_FORM_DATA;
-import static javax.ws.rs.core.MediaType.TEXT_HTML;
-import static javax.ws.rs.core.MediaType.WILDCARD;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON;
+import static jakarta.ws.rs.core.MediaType.MULTIPART_FORM_DATA;
+import static jakarta.ws.rs.core.MediaType.TEXT_HTML;
+import static jakarta.ws.rs.core.MediaType.WILDCARD;
import eu.mulk.mulkcms2.benki.posts.Post;
import eu.mulk.mulkcms2.benki.posts.PostFilter;
@@ -12,6 +12,21 @@ import eu.mulk.mulkcms2.benki.posts.PostResource;
import io.quarkus.qute.CheckedTemplate;
import io.quarkus.qute.TemplateInstance;
import io.quarkus.security.Authenticated;
+import jakarta.json.JsonObject;
+import jakarta.transaction.Transactional;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Response;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
@@ -20,21 +35,6 @@ import java.time.OffsetDateTime;
import java.util.Objects;
import java.util.Set;
import javax.annotation.CheckForNull;
-import javax.json.JsonObject;
-import javax.transaction.Transactional;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Response;
import org.jsoup.Jsoup;
@Path("/bookmarks")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java
index 06ea299..019dce5 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java
@@ -1,11 +1,11 @@
package eu.mulk.mulkcms2.benki.bookmarks;
import eu.mulk.mulkcms2.benki.posts.PostText;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
+import jakarta.persistence.Transient;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Table;
-import javax.persistence.Transient;
@Entity
@Table(name = "bookmark_texts", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java
index 92bda99..d6f529e 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java
@@ -1,12 +1,12 @@
package eu.mulk.mulkcms2.benki.bookmarks;
+import jakarta.persistence.Column;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
public class BookmarkTextPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java
index 7f6ed3b..9181adf 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java
@@ -1,14 +1,14 @@
package eu.mulk.mulkcms2.benki.lazychat;
import eu.mulk.mulkcms2.benki.posts.Post;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.Table;
import java.util.Collection;
import javax.annotation.CheckForNull;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "lazychat_messages", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java
index 72bb983..1a84909 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java
@@ -1,11 +1,11 @@
package eu.mulk.mulkcms2.benki.lazychat;
import eu.mulk.mulkcms2.benki.posts.PostText;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Table;
@Entity
@Table(name = "lazychat_message_texts", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java
index 33063b1..b9861e1 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java
@@ -1,12 +1,12 @@
package eu.mulk.mulkcms2.benki.lazychat;
+import jakarta.persistence.Column;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
public class LazychatMessageTextPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java
index 270a3d0..4a36cf8 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java
@@ -1,29 +1,29 @@
package eu.mulk.mulkcms2.benki.lazychat;
-import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
-import static javax.ws.rs.core.MediaType.MULTIPART_FORM_DATA;
-import static javax.ws.rs.core.MediaType.WILDCARD;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED;
+import static jakarta.ws.rs.core.MediaType.MULTIPART_FORM_DATA;
+import static jakarta.ws.rs.core.MediaType.WILDCARD;
import eu.mulk.mulkcms2.benki.posts.Post;
import eu.mulk.mulkcms2.benki.posts.PostFilter;
import eu.mulk.mulkcms2.benki.posts.PostResource;
import io.quarkus.security.Authenticated;
+import jakarta.transaction.Transactional;
+import jakarta.validation.constraints.NotNull;
+import jakarta.ws.rs.Consumes;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
import java.net.URI;
import java.net.URISyntaxException;
import java.security.NoSuchAlgorithmException;
import java.time.OffsetDateTime;
import java.util.Objects;
-import javax.transaction.Transactional;
-import javax.validation.constraints.NotNull;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
@Path("/lazychat")
public class LazychatResource extends PostResource {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java
index 6ab9c70..d51e77c 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java
@@ -1,13 +1,13 @@
package eu.mulk.mulkcms2.benki.login;
import io.quarkus.security.Authenticated;
+import jakarta.ws.rs.DefaultValue;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.HeaderParam;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.core.Response;
import java.net.URI;
import java.net.URISyntaxException;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.HeaderParam;
-import javax.ws.rs.Path;
-import javax.ws.rs.core.Response;
@Path("/login")
public class LoginResource {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java
index a217dba..da3bed7 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java
@@ -2,9 +2,9 @@ package eu.mulk.mulkcms2.benki.login;
import io.quarkus.qute.TemplateData;
import io.quarkus.security.identity.SecurityIdentity;
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Inject;
-import javax.inject.Named;
+import jakarta.enterprise.context.RequestScoped;
+import jakarta.inject.Inject;
+import jakarta.inject.Named;
@Named("LoginStatus")
@RequestScoped
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java b/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java
index 37d865f..2557306 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java
@@ -8,11 +8,11 @@ import io.quarkus.security.identity.SecurityIdentity;
import io.quarkus.security.identity.SecurityIdentityAugmentor;
import io.quarkus.security.runtime.QuarkusSecurityIdentity;
import io.smallrye.mutiny.Uni;
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.transaction.Transactional;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import javax.enterprise.context.ApplicationScoped;
-import javax.transaction.Transactional;
@ApplicationScoped
public class RoleAugmentor implements SecurityIdentityAugmentor {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java
index 1d6ea5c..3084115 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java
@@ -1,7 +1,7 @@
package eu.mulk.mulkcms2.benki.newsletter;
-import javax.enterprise.context.Dependent;
-import javax.inject.Inject;
+import jakarta.enterprise.context.Dependent;
+import jakarta.inject.Inject;
import org.apache.camel.builder.RouteBuilder;
import org.eclipse.microprofile.config.inject.ConfigProperty;
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java
index 3d9a3fe..64fd6f7 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java
@@ -2,15 +2,15 @@ package eu.mulk.mulkcms2.benki.newsletter;
import eu.mulk.mulkcms2.benki.posts.Post;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.OrderBy;
+import jakarta.persistence.Table;
import java.time.OffsetDateTime;
import java.util.Collection;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.OrderBy;
-import javax.persistence.Table;
@Entity
@Table(name = "newsletters", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java
index 3ad24af..cceddb1 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java
@@ -1,19 +1,19 @@
package eu.mulk.mulkcms2.benki.newsletter;
-import static javax.ws.rs.core.MediaType.TEXT_HTML;
+import static jakarta.ws.rs.core.MediaType.TEXT_HTML;
import io.quarkus.mailer.MailTemplate.MailTemplateInstance;
import io.quarkus.qute.CheckedTemplate;
import io.quarkus.qute.TemplateInstance;
+import jakarta.transaction.Transactional;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
-import javax.transaction.Transactional;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
@Path("/newsletter")
@Produces(TEXT_HTML)
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java
index 949d127..ae1ef9e 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java
@@ -11,6 +11,10 @@ import io.quarkus.panache.common.Sort;
import io.quarkus.qute.CheckedTemplate;
import io.quarkus.qute.TemplateExtension;
import io.quarkus.scheduler.Scheduled;
+import jakarta.enterprise.context.Dependent;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import jakarta.transaction.Transactional;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.time.ZoneId;
@@ -21,13 +25,8 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import javax.annotation.CheckForNull;
-import javax.enterprise.context.Dependent;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.Transactional;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.hibernate.Session;
-import org.hibernate.annotations.QueryHints;
@Dependent
public class NewsletterSender {
@@ -65,7 +64,6 @@ public class NewsletterSender {
AND tag = 'world'
""",
Sort.ascending("date"))
- .withHint(QueryHints.PASS_DISTINCT_THROUGH, false)
.list();
Post.fetchTexts(posts);
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java
index cd50b2e..911a445 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.benki.newsletter;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+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.validation.constraints.Email;
import java.math.BigInteger;
import java.security.SecureRandom;
import java.time.OffsetDateTime;
-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.validation.constraints.Email;
import org.hibernate.annotations.NaturalId;
@Entity
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java
index 6bc54b8..4d29c25 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java
@@ -2,9 +2,9 @@ package eu.mulk.mulkcms2.benki.newsletter;
import eu.mulk.mulkcms2.common.logging.Messages;
import io.quarkus.scheduler.Scheduled;
+import jakarta.enterprise.context.Dependent;
+import jakarta.transaction.Transactional;
import java.time.OffsetDateTime;
-import javax.enterprise.context.Dependent;
-import javax.transaction.Transactional;
@Dependent
public class NewsletterSubscriptionExpirer {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java
index 294127f..c4139d8 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java
@@ -3,12 +3,12 @@ package eu.mulk.mulkcms2.benki.newsletter;
import eu.mulk.mulkcms2.common.logging.Messages;
import io.quarkus.mailer.MailTemplate.MailTemplateInstance;
import io.quarkus.qute.CheckedTemplate;
+import jakarta.enterprise.context.Dependent;
+import jakarta.mail.internet.InternetAddress;
+import jakarta.transaction.Transactional;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
-import javax.enterprise.context.Dependent;
-import javax.mail.internet.InternetAddress;
-import javax.transaction.Transactional;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.component.mail.MailMessage;
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java
index 4047b9e..b934408 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java
@@ -1,7 +1,7 @@
package eu.mulk.mulkcms2.benki.posts;
+import jakarta.ws.rs.Path;
import java.security.NoSuchAlgorithmException;
-import javax.ws.rs.Path;
@Path("/posts")
public class AllPostsResource extends PostResource {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
index c2f3dbc..a0245c8 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
@@ -4,13 +4,36 @@ import static java.util.stream.Collectors.toList;
import com.blazebit.persistence.CriteriaBuilder;
import com.blazebit.persistence.CriteriaBuilderFactory;
-import com.vladmihalcea.hibernate.type.basic.PostgreSQLEnumType;
import eu.mulk.mulkcms2.benki.accesscontrol.Role;
import eu.mulk.mulkcms2.benki.bookmarks.Bookmark;
import eu.mulk.mulkcms2.benki.lazychat.LazychatMessage;
import eu.mulk.mulkcms2.benki.newsletter.Newsletter;
import eu.mulk.mulkcms2.benki.users.User;
+import io.hypersistence.utils.hibernate.type.basic.PostgreSQLEnumType;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.annotation.Nullable;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Inheritance;
+import jakarta.persistence.InheritanceType;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.MapKey;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.OrderBy;
+import jakarta.persistence.SequenceGenerator;
+import jakarta.persistence.Table;
import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.util.ArrayList;
@@ -24,37 +47,12 @@ import java.util.Set;
import java.util.TimeZone;
import java.util.stream.Collectors;
import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EntityManager;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
-import javax.persistence.MapKey;
-import javax.persistence.OneToMany;
-import javax.persistence.OrderBy;
-import javax.persistence.SequenceGenerator;
-import javax.persistence.Table;
import org.hibernate.annotations.Type;
-import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.Where;
@Entity
@Table(name = "posts", schema = "benki")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
-@TypeDef(name = "pg_enum", typeClass = PostgreSQLEnumType.class)
public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase {
public enum Scope {
@@ -78,7 +76,7 @@ public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase {
@Column(nullable = false)
@Enumerated(EnumType.STRING)
- @Type(type = "pg_enum")
+ @Type(PostgreSQLEnumType.class)
public Scope scope = Scope.top_level;
@ManyToOne(fetch = FetchType.LAZY)
@@ -155,7 +153,7 @@ public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase {
}
}
- protected static <T extends Post> CriteriaBuilder<T> queryViewable(
+ protected static <T extends Post<?>> CriteriaBuilder<T> queryViewable(
Class<T> entityClass,
@CheckForNull User reader,
@CheckForNull User owner,
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java
index c8d7657..db613ae 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.benki.posts;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_ATOM_XML;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON;
+import static jakarta.ws.rs.core.MediaType.TEXT_HTML;
+import static jakarta.ws.rs.core.MediaType.TEXT_PLAIN;
import static java.nio.charset.StandardCharsets.UTF_8;
-import static javax.ws.rs.core.MediaType.APPLICATION_ATOM_XML;
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static javax.ws.rs.core.MediaType.TEXT_HTML;
-import static javax.ws.rs.core.MediaType.TEXT_PLAIN;
import com.blazebit.persistence.CriteriaBuilderFactory;
import com.rometools.rome.feed.atom.Content;
@@ -26,6 +26,27 @@ import io.quarkus.qute.CheckedTemplate;
import io.quarkus.qute.TemplateInstance;
import io.quarkus.security.identity.SecurityIdentity;
import io.smallrye.mutiny.Uni;
+import jakarta.annotation.Nullable;
+import jakarta.inject.Inject;
+import jakarta.json.spi.JsonProvider;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.PersistenceContext;
+import jakarta.transaction.Transactional;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.ForbiddenException;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.QueryParam;
+import jakarta.ws.rs.core.Context;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
+import jakarta.ws.rs.core.UriBuilder;
+import jakarta.ws.rs.core.UriInfo;
import java.math.BigInteger;
import java.net.URI;
import java.net.URLEncoder;
@@ -47,27 +68,6 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
import javax.annotation.CheckForNull;
-import javax.annotation.Nullable;
-import javax.inject.Inject;
-import javax.json.spi.JsonProvider;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.Transactional;
-import javax.validation.constraints.NotEmpty;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.ForbiddenException;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status;
-import javax.ws.rs.core.UriBuilder;
-import javax.ws.rs.core.UriInfo;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import org.hibernate.Session;
import org.jsoup.Jsoup;
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java
index c3e58c5..0f73f1a 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java
@@ -2,14 +2,14 @@ package eu.mulk.mulkcms2.benki.posts;
import eu.mulk.mulkcms2.benki.accesscontrol.Role;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
@Entity
@Table(name = "post_targets", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java
index f6347b2..ff9f509 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java
@@ -1,8 +1,8 @@
package eu.mulk.mulkcms2.benki.posts;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class PostTargetPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java
index 80971b1..dc7a228 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java
@@ -1,32 +1,32 @@
package eu.mulk.mulkcms2.benki.posts;
-import com.vladmihalcea.hibernate.type.search.PostgreSQLTSVectorType;
+import static org.hibernate.generator.EventType.INSERT;
+import static org.hibernate.generator.EventType.UPDATE;
+
import eu.mulk.mulkcms2.benki.posts.Post.Scope;
import eu.mulk.mulkcms2.common.markdown.MarkdownConverter;
import eu.mulk.mulkcms2.common.markdown.MarkdownConverter.Mode;
+import io.hypersistence.utils.hibernate.type.search.PostgreSQLTSVectorType;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.json.bind.annotation.JsonbTransient;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.Inheritance;
+import jakarta.persistence.InheritanceType;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.json.bind.annotation.JsonbTransient;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
import org.hibernate.annotations.Generated;
-import org.hibernate.annotations.GenerationTime;
import org.hibernate.annotations.Type;
-import org.hibernate.annotations.TypeDef;
@Entity
@Table(name = "post_texts", schema = "benki")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@IdClass(PostTextPK.class)
-@TypeDef(name = "tsvector", typeClass = PostgreSQLTSVectorType.class)
public abstract class PostText<OwningPost extends Post<?>> extends PanacheEntityBase {
private static final int DESCRIPTION_CACHE_VERSION = 1;
@@ -48,8 +48,8 @@ public abstract class PostText<OwningPost extends Post<?>> extends PanacheEntity
public String cachedDescriptionHtml;
@Column(name = "search_terms")
- @Generated(GenerationTime.ALWAYS)
- @Type(type = "tsvector")
+ @Generated(event = {INSERT, UPDATE})
+ @Type(value = PostgreSQLTSVectorType.class)
public String searchTerms;
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Post.class)
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java
index 0a945dd..d737bf4 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java
@@ -1,13 +1,13 @@
package eu.mulk.mulkcms2.benki.posts;
+import jakarta.persistence.Column;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
@IdClass(PostTextPK.class)
public class PostTextPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java
index d03597b..0828cab 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.benki.users;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import java.math.BigInteger;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "rsa_keys", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java
index 83f4ced..d38d3fd 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.benki.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class RsaKeyPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/User.java b/src/main/java/eu/mulk/mulkcms2/benki/users/User.java
index 99ab91f..9f2cd5c 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/User.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/User.java
@@ -7,26 +7,26 @@ import eu.mulk.mulkcms2.benki.lazychat.LazychatMessage;
import eu.mulk.mulkcms2.benki.posts.Post;
import eu.mulk.mulkcms2.benki.wiki.WikiPageRevision;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
+import jakarta.persistence.Transient;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import javax.annotation.CheckForNull;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.persistence.Transient;
@Entity(name = "BenkiUser")
@Table(name = "users", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java
index 7d2c2ea..a12377a 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java
@@ -2,14 +2,14 @@ package eu.mulk.mulkcms2.benki.users;
import eu.mulk.mulkcms2.benki.accesscontrol.Role;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
@Entity
@Table(name = "user_roles", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java
index aca126d..b84e02b 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java
@@ -1,8 +1,8 @@
package eu.mulk.mulkcms2.benki.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class UserRolePK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java
index 7e99791..d48a064 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.benki.users;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinColumns;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import java.math.BigInteger;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinColumns;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "user_rsa_keys", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java
index ef48c9a..872251a 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.benki.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.math.BigInteger;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class UserRsaKeyPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java
index b627f9a..56778fe 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.benki.wiki;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.OrderBy;
+import jakarta.persistence.Table;
import java.util.List;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.OrderBy;
-import javax.persistence.Table;
@Entity
@Table(name = "wiki_pages", schema = "benki")
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java
index 161f371..c27fa45 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java
@@ -2,20 +2,20 @@ package eu.mulk.mulkcms2.benki.wiki;
import eu.mulk.mulkcms2.benki.users.User;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import java.time.OffsetDateTime;
import java.util.function.Function;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
index 6351aab..1ca77ca 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java
@@ -1,7 +1,7 @@
package eu.mulk.mulkcms2.benki.wiki;
-import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
-import static javax.ws.rs.core.MediaType.TEXT_HTML;
+import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON;
+import static jakarta.ws.rs.core.MediaType.TEXT_HTML;
import eu.mulk.mulkcms2.benki.users.User;
import io.quarkus.panache.common.Sort;
@@ -9,25 +9,25 @@ import io.quarkus.qute.CheckedTemplate;
import io.quarkus.qute.TemplateInstance;
import io.quarkus.security.Authenticated;
import io.quarkus.security.identity.SecurityIdentity;
+import jakarta.inject.Inject;
+import jakarta.json.JsonObject;
+import jakarta.json.spi.JsonProvider;
+import jakarta.transaction.Transactional;
+import jakarta.ws.rs.BadRequestException;
+import jakarta.ws.rs.FormParam;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.NotFoundException;
+import jakarta.ws.rs.POST;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.Response;
import java.net.URI;
import java.net.URISyntaxException;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
import java.util.Optional;
import javax.annotation.CheckForNull;
-import javax.inject.Inject;
-import javax.json.JsonObject;
-import javax.json.spi.JsonProvider;
-import javax.transaction.Transactional;
-import javax.ws.rs.BadRequestException;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.NotFoundException;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.Response;
import org.jsoup.Jsoup;
import org.jsoup.safety.Safelist;
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java b/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java
index c112773..1928801 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java
@@ -2,10 +2,10 @@ package eu.mulk.mulkcms2.cms.about;
import io.quarkus.qute.CheckedTemplate;
import io.quarkus.qute.TemplateInstance;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
@Path("/about")
public class AboutResource {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java b/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java
index 9f91c6b..0b3adfb 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java
@@ -2,18 +2,18 @@ package eu.mulk.mulkcms2.cms.comments;
import eu.mulk.mulkcms2.cms.pages.Article;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import java.util.Collection;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "comments", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java b/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java
index 2835345..038141e 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java
@@ -1,25 +1,24 @@
package eu.mulk.mulkcms2.cms.comments;
-import com.vladmihalcea.hibernate.type.basic.Inet;
-import com.vladmihalcea.hibernate.type.basic.PostgreSQLInetType;
import eu.mulk.mulkcms2.cms.users.User;
+import io.hypersistence.utils.hibernate.type.basic.Inet;
+import io.hypersistence.utils.hibernate.type.basic.PostgreSQLInetType;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import java.sql.Timestamp;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
-import org.hibernate.annotations.TypeDef;
+import org.hibernate.annotations.Type;
@Entity
@Table(name = "comment_revisions", schema = "public")
-@TypeDef(name = "inet", typeClass = PostgreSQLInetType.class, defaultForType = Inet.class)
public class CommentRevision extends PanacheEntityBase {
@Id
@@ -45,6 +44,7 @@ public class CommentRevision extends PanacheEntityBase {
public Integer articleRevision;
@Column(name = "submitter_ip", nullable = true, columnDefinition = "inet")
+ @Type(PostgreSQLInetType.class)
@CheckForNull
public Inet submitterIp;
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java b/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java
index 6565946..bf4eb74 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.cms.comments;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
@Entity
@Table(name = "used_transaction_keys", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java b/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java
index a33ba4f..48d8de9 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.cms.journal;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import java.util.Collection;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "journals", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java
index 92ccf45..2cfb423 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java
@@ -2,14 +2,14 @@ package eu.mulk.mulkcms2.cms.journal;
import eu.mulk.mulkcms2.cms.pages.Article;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
@Entity
@Table(name = "journal_entries", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java
index 88eb083..7003afd 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java
@@ -1,9 +1,9 @@
package eu.mulk.mulkcms2.cms.journal;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class JournalEntryPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java
index 31a968e..4647d87 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java
@@ -1,12 +1,12 @@
package eu.mulk.mulkcms2.cms.legacyjournal;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-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 jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
@Entity
@Table(name = "journal_category", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java
index 186d343..2bbf3dd 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.cms.legacyjournal;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "journal_comment", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java
index ad95270..613e4c6 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.cms.legacyjournal;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import java.util.Collection;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "journal_entry", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java
index f31e44e..451d6f5 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.cms.legacyjournal;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "journal_pingback", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java
index f86f95f..fb72242 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.cms.legacyjournal;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "journal_trackback", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java
index c3772f0..868f1c8 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java
@@ -3,20 +3,20 @@ package eu.mulk.mulkcms2.cms.pages;
import eu.mulk.mulkcms2.cms.comments.Comment;
import eu.mulk.mulkcms2.cms.journal.JournalEntry;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import java.util.Collection;
import java.util.Set;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "articles", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java
index 6896aa7..e29c53b 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java
@@ -1,13 +1,13 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
@Entity
@Table(name = "article_aliases", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java
index 5b45216..db988d3 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java
@@ -1,12 +1,12 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.Table;
import org.hibernate.annotations.Immutable;
@Entity
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java
index 2d93b54..0e1106c 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java
@@ -1,9 +1,9 @@
package eu.mulk.mulkcms2.cms.pages;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class ArticleBranchTipPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java
index f7993f1..437c523 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import org.hibernate.annotations.Immutable;
@Entity
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java
index 1fe92f3..45b8854 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java
@@ -1,12 +1,12 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import java.sql.Timestamp;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
import org.hibernate.annotations.Immutable;
@Entity
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java
index cf45142..5abdf48 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java
@@ -2,22 +2,22 @@ package eu.mulk.mulkcms2.cms.pages;
import eu.mulk.mulkcms2.cms.users.User;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import java.sql.Timestamp;
import java.util.Collection;
import java.util.Set;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "article_revisions", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java
index 0ac7ae5..ebda4a2 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java
@@ -1,15 +1,15 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "article_revision_characteristics", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java
index 7f9b61a..045642e 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java
@@ -1,8 +1,8 @@
package eu.mulk.mulkcms2.cms.pages;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Id;
public class ArticleRevisionCharacteristicPK implements Serializable {
private String characteristic;
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java
index c2c50bb..5f903e1 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java
@@ -1,16 +1,16 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import java.util.Collection;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "article_types", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java
index db92afa..7240218 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java
@@ -1,12 +1,12 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.Table;
import java.sql.Timestamp;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.Table;
@Entity
@Table(name = "cached_pages", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java
index 1a72aea..7eb213a 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java
@@ -1,9 +1,9 @@
package eu.mulk.mulkcms2.cms.pages;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class CachedPagePK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java
index 2801c98..b51d094 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java
@@ -1,17 +1,17 @@
package eu.mulk.mulkcms2.cms.pages;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+import jakarta.persistence.Table;
import java.util.Set;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToMany;
-import javax.persistence.Table;
@Entity
@Table(name = "categories", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java b/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java
index 5255ee2..9f7ffb9 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java
@@ -2,10 +2,10 @@ package eu.mulk.mulkcms2.cms.privacy.about;
import io.quarkus.qute.CheckedTemplate;
import io.quarkus.qute.TemplateInstance;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
@Path("/privacy")
public class PrivacyPolicyResource {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java
index 8fec250..724c958 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java
@@ -1,14 +1,14 @@
package eu.mulk.mulkcms2.cms.users;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
@Entity
@Table(name = "login_certificates", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java
index 8bb5f44..eb5f569 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java
@@ -1,10 +1,10 @@
package eu.mulk.mulkcms2.cms.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class LoginCertificatePK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java
index c73f079..d1039a3 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java
@@ -1,14 +1,14 @@
package eu.mulk.mulkcms2.cms.users;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
@Entity(name = "CmsOpenId")
@Table(name = "openids", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java
index e80fb25..16c2b10 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java
@@ -1,9 +1,9 @@
package eu.mulk.mulkcms2.cms.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class OpenIdPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java b/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java
index 3745bfb..ce1b4c3 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java
@@ -1,14 +1,14 @@
package eu.mulk.mulkcms2.cms.users;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
@Entity
@Table(name = "passwords", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java
index c43cd5e..e553b5d 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java
@@ -1,9 +1,9 @@
package eu.mulk.mulkcms2.cms.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class PasswordPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/User.java b/src/main/java/eu/mulk/mulkcms2/cms/users/User.java
index 5ba5ff4..fe9e589 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/User.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/User.java
@@ -3,16 +3,16 @@ package eu.mulk.mulkcms2.cms.users;
import eu.mulk.mulkcms2.cms.comments.CommentRevision;
import eu.mulk.mulkcms2.cms.pages.ArticleRevision;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
import java.util.Collection;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
@Entity(name = "CmsUser")
@Table(name = "users", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java
index 76e3734..aa6dd40 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java
@@ -1,15 +1,15 @@
package eu.mulk.mulkcms2.cms.users;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "user_permissions", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java
index 406178e..e3634b5 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java
@@ -1,9 +1,9 @@
package eu.mulk.mulkcms2.cms.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class UserPermissionPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java
index 43c61b2..8b49d74 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java
@@ -1,15 +1,15 @@
package eu.mulk.mulkcms2.cms.users;
import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.IdClass;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
import javax.annotation.CheckForNull;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
@Entity
@Table(name = "user_settings", schema = "public")
diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java
index b7c28ea..f8c268d 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java
@@ -1,9 +1,9 @@
package eu.mulk.mulkcms2.cms.users;
+import jakarta.persistence.Column;
+import jakarta.persistence.Id;
import java.io.Serializable;
import java.util.Objects;
-import javax.persistence.Column;
-import javax.persistence.Id;
public class UserSettingPK implements Serializable {
diff --git a/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateFunctionContributor.java b/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateFunctionContributor.java
new file mode 100644
index 0000000..2bbb812
--- /dev/null
+++ b/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateFunctionContributor.java
@@ -0,0 +1,28 @@
+package eu.mulk.mulkcms2.common.hibernate;
+
+import static org.hibernate.query.sqm.produce.function.FunctionParameterType.STRING;
+import static org.hibernate.sql.ast.SqlAstNodeRenderingMode.DEFAULT;
+import static org.hibernate.type.StandardBasicTypes.BOOLEAN;
+
+import org.hibernate.boot.model.FunctionContributions;
+import org.hibernate.boot.model.FunctionContributor;
+
+public final class HibernateFunctionContributor implements FunctionContributor {
+
+ @Override
+ public void contributeFunctions(FunctionContributions functionContributions) {
+ var typeConfiguration = functionContributions.getTypeConfiguration();
+ var typeRegistry = typeConfiguration.getBasicTypeRegistry();
+ var functionRegistry = functionContributions.getFunctionRegistry();
+
+ functionRegistry
+ .patternDescriptorBuilder(
+ "post_matches_websearch", "(?1 @@ websearch_to_tsquery(language_regconfig(?2), ?3))")
+ .setInvariantType(typeRegistry.resolve(BOOLEAN))
+ .setExactArgumentCount(3)
+ .setArgumentListSignature("(STRING searchTerms, STRING language, STRING queryText)")
+ .setArgumentRenderingMode(DEFAULT)
+ .setParameterTypes(STRING, STRING, STRING)
+ .register();
+ }
+}
diff --git a/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateMetadataBuilderContributor.java b/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateMetadataBuilderContributor.java
deleted file mode 100644
index 31f99b2..0000000
--- a/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateMetadataBuilderContributor.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package eu.mulk.mulkcms2.common.hibernate;
-
-import org.hibernate.boot.MetadataBuilder;
-import org.hibernate.boot.spi.MetadataBuilderContributor;
-
-public final class HibernateMetadataBuilderContributor implements MetadataBuilderContributor {
-
- @Override
- public void contribute(MetadataBuilder metadataBuilder) {
- metadataBuilder.applySqlFunction("post_matches_websearch", new PostMatchesWebsearchFunction());
- }
-}
diff --git a/src/main/java/eu/mulk/mulkcms2/common/hibernate/PostMatchesWebsearchFunction.java b/src/main/java/eu/mulk/mulkcms2/common/hibernate/PostMatchesWebsearchFunction.java
deleted file mode 100644
index 9c10615..0000000
--- a/src/main/java/eu/mulk/mulkcms2/common/hibernate/PostMatchesWebsearchFunction.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package eu.mulk.mulkcms2.common.hibernate;
-
-import org.hibernate.dialect.function.SQLFunctionTemplate;
-import org.hibernate.type.BooleanType;
-
-public final class PostMatchesWebsearchFunction extends SQLFunctionTemplate {
-
- public PostMatchesWebsearchFunction() {
- super(BooleanType.INSTANCE, "(?1 @@ websearch_to_tsquery(language_regconfig(?2), ?3))");
- }
-}
diff --git a/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java b/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java
index 8a2d3b1..1446352 100644
--- a/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java
+++ b/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java
@@ -1,6 +1,6 @@
package eu.mulk.mulkcms2.common.logging;
-import javax.mail.Address;
+import jakarta.mail.Address;
import org.jboss.logging.BasicLogger;
import org.jboss.logging.Logger;
import org.jboss.logging.Logger.Level;
diff --git a/src/main/resources/META-INF/services/ org.hibernate.boot.model.FunctionContributor b/src/main/resources/META-INF/services/ org.hibernate.boot.model.FunctionContributor
new file mode 100644
index 0000000..0c3be1e
--- /dev/null
+++ b/src/main/resources/META-INF/services/ org.hibernate.boot.model.FunctionContributor
@@ -0,0 +1 @@
+eu.mulk.mulkcms2.common.hibernate.HibernateFunctionContributor
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index bd9db97..e576172 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -14,7 +14,6 @@ quarkus.datasource.jdbc.driver = org.postgresql.Driver
quarkus.datasource.jdbc.max-size = 8
quarkus.datasource.jdbc.min-size = 0
-quarkus.hibernate-orm.metadata-builder-contributor = eu.mulk.mulkcms2.common.hibernate.HibernateMetadataBuilderContributor
quarkus.hibernate-orm.validate-in-dev-mode = false
quarkus.liquibase.migrate-at-start = true