diff --git a/pom.xml b/pom.xml
index 30eb946..2a49efe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,8 +12,8 @@
 
   <properties>
     <maven.compiler.parameters>true</maven.compiler.parameters>
-    <maven.compiler.source>19</maven.compiler.source>
-    <maven.compiler.target>19</maven.compiler.target>
+    <maven.compiler.source>17</maven.compiler.source>
+    <maven.compiler.target>17</maven.compiler.target>
 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
@@ -24,7 +24,7 @@
     <compiler-plugin.version>3.13.0</compiler-plugin.version>
     <enforcer-plugin.version>3.5.0</enforcer-plugin.version>
     <processor-plugin.version>4.2</processor-plugin.version>
-    <quarkus.version>3.15.1</quarkus.version>
+    <quarkus.version>3.24.2</quarkus.version>
     <resources-plugin.version>3.3.1</resources-plugin.version>
     <spotless-plugin.version>2.43.0</spotless-plugin.version>
 
@@ -34,7 +34,7 @@
     <flexmark.version>0.64.8</flexmark.version>
     <google.java.format.version>1.15.0</google.java.format.version>
     <hibernate.version>6.6.1.Final</hibernate.version>
-    <hibernate-types.version>3.8.2</hibernate-types.version>
+    <hibernate-types.version>3.10.0</hibernate-types.version>
     <jakarta-jacc-api.version>1.6.1</jakarta-jacc-api.version>
     <jna.version>5.15.0</jna.version>
     <jsoup.version>1.18.1</jsoup.version>
@@ -66,7 +66,7 @@
       <!-- Hibernate PostgreSQL Extra Types -->
       <dependency>
         <groupId>io.hypersistence</groupId>
-        <artifactId>hypersistence-utils-hibernate-62</artifactId>
+        <artifactId>hypersistence-utils-hibernate-70</artifactId>
         <version>${hibernate-types.version}</version>
       </dependency>
 
@@ -171,15 +171,15 @@
     </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-resteasy-reactive</artifactId>
+      <artifactId>quarkus-rest</artifactId>
     </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-resteasy-reactive-jsonb</artifactId>
+      <artifactId>quarkus-rest-jsonb</artifactId>
     </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-resteasy-reactive-qute</artifactId>
+      <artifactId>quarkus-rest-qute</artifactId>
     </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
@@ -237,7 +237,7 @@
     <!-- Hibernate PostgreSQL Extra Types -->
     <dependency>
       <groupId>io.hypersistence</groupId>
-      <artifactId>hypersistence-utils-hibernate-62</artifactId>
+      <artifactId>hypersistence-utils-hibernate-70</artifactId>
     </dependency>
 
     <!-- Annotations -->
@@ -276,11 +276,21 @@
       <artifactId>kotlin-annotations-jvm</artifactId>
       <scope>provided</scope>
     </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-annotations</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.logging</groupId>
+      <artifactId>jboss-logging-processor</artifactId>
+      <scope>provided</scope>
+    </dependency>
 
     <!-- Hibernate -->
     <dependency>
       <groupId>org.hibernate.orm</groupId>
-      <artifactId>hibernate-jpamodelgen</artifactId>
+      <artifactId>hibernate-processor</artifactId>
       <scope>provided</scope>
     </dependency>
 
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 e07765a..9b73084 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java
@@ -22,8 +22,6 @@
 import java.util.Objects;
 import java.util.Set;
 import javax.annotation.CheckForNull;
-import org.hibernate.annotations.LazyToOne;
-import org.hibernate.annotations.LazyToOneOption;
 
 @Entity
 @Table(name = "roles", schema = "benki")
@@ -70,7 +68,6 @@
   public Collection<UserRole> directUsers;
 
   @OneToOne(mappedBy = "ownedRole", fetch = FetchType.LAZY)
-  @LazyToOne(LazyToOneOption.NO_PROXY)
   public User owningUsers;
 
   @ManyToMany(mappedBy = "effectiveRoles", fetch = FetchType.LAZY)
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 6264671..e757972 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
@@ -9,7 +9,8 @@
 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 org.hibernate.annotations.JdbcTypeCode;
+import org.hibernate.type.SqlTypes;
 import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
 import jakarta.annotation.Nullable;
 import jakarta.json.bind.annotation.JsonbTransient;
@@ -49,7 +50,7 @@
 import java.util.stream.Collectors;
 import javax.annotation.CheckForNull;
 import org.hibernate.annotations.Type;
-import org.hibernate.annotations.Where;
+import org.hibernate.annotations.SQLRestriction;
 
 @Entity
 @Table(name = "posts", schema = "benki")
@@ -79,7 +80,7 @@
 
   @Column(nullable = false, columnDefinition = "benki.post_scope")
   @Enumerated(EnumType.STRING)
-  @Type(PostgreSQLEnumType.class)
+  @JdbcTypeCode(SqlTypes.NAMED_ENUM)
   public Scope scope = Scope.top_level;
 
   @ManyToOne(fetch = FetchType.LAZY)
@@ -118,7 +119,7 @@
 
   @ManyToMany(mappedBy = "referees")
   @OrderBy("date ASC")
-  @Where(clause = "scope = 'comment'")
+  @SQLRestriction("scope = 'comment'")
   @JsonbTransient
   public Collection<LazychatMessage> comments;
 
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 038141e..add3cd6 100644
--- a/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java
+++ b/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java
@@ -1,8 +1,7 @@
 package eu.mulk.mulkcms2.cms.comments;
 
 import eu.mulk.mulkcms2.cms.users.User;
-import io.hypersistence.utils.hibernate.type.basic.Inet;
-import io.hypersistence.utils.hibernate.type.basic.PostgreSQLInetType;
+import java.net.InetAddress;
 import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
 import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
@@ -44,9 +43,8 @@
   public Integer articleRevision;
 
   @Column(name = "submitter_ip", nullable = true, columnDefinition = "inet")
-  @Type(PostgreSQLInetType.class)
   @CheckForNull
-  public Inet submitterIp;
+  public InetAddress submitterIp;
 
   @Column(name = "submitter_user_agent", nullable = true, length = -1)
   @CheckForNull
