diff --git a/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/ResourceEntity.java b/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/ResourceEntity.java
index 34653cc..ab3ba82 100644
--- a/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/ResourceEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/authorization/jpa/entities/ResourceEntity.java
@@ -44,6 +44,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Set;
+import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
@@ -109,7 +110,8 @@ public class ResourceEntity {
private List<PolicyEntity> policies = new LinkedList<>();
@OneToMany(cascade = CascadeType.REMOVE, orphanRemoval = true, mappedBy="resource")
- @Fetch(FetchMode.SUBSELECT)
+ @Fetch(FetchMode.SELECT)
+ @BatchSize(size = 20)
private Collection<ResourceAttributeEntity> attributes = new ArrayList<>();
public String getId() {
diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java
index 538d17a..f858161 100755
--- a/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java
+++ b/model/jpa/src/main/java/org/keycloak/models/jpa/entities/UserEntity.java
@@ -17,6 +17,7 @@
package org.keycloak.models.jpa.entities;
+import org.hibernate.annotations.BatchSize;
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
import org.hibernate.annotations.Nationalized;
@@ -96,15 +97,18 @@ public class UserEntity {
protected String realmId;
@OneToMany(cascade = CascadeType.REMOVE, orphanRemoval = true, mappedBy="user")
- @Fetch(FetchMode.SUBSELECT)
+ @Fetch(FetchMode.SELECT)
+ @BatchSize(size = 20)
protected Collection<UserAttributeEntity> attributes = new ArrayList<UserAttributeEntity>();
@OneToMany(cascade = CascadeType.REMOVE, orphanRemoval = true, mappedBy="user")
- @Fetch(FetchMode.SUBSELECT)
+ @Fetch(FetchMode.SELECT)
+ @BatchSize(size = 20)
protected Collection<UserRequiredActionEntity> requiredActions = new ArrayList<UserRequiredActionEntity>();
@OneToMany(cascade = CascadeType.REMOVE, orphanRemoval = true, mappedBy="user")
- @Fetch(FetchMode.SUBSELECT)
+ @Fetch(FetchMode.SELECT)
+ @BatchSize(size = 20)
protected Collection<CredentialEntity> credentials = new ArrayList<CredentialEntity>();
@Column(name="FEDERATION_LINK")