Loop JPA-массив без запуска Lob-выборки

Если определены следующие Spring JPA Entities:

@Entity class Album( @Id val id: Long = 0, ... @OneToMany(mappedBy = "album") val mediaItems: Set<Media>) : Serializable @Entity @Table(name = "media") class Media( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(columnDefinition = "serial") var id: Long? = null, @Column @Lob var content: ByteArray 

Определение включает в себя ленивый выбранный столбец @Lob, который на самом деле ленив, поскольку база данных подкладок использует большие объекты Postgres. Моя пружина jpa поддерживается спящим режимом. При переходе через записи mediaItems spring jpa все записи автоматически извлекают связанный контент @Lob, даже не касаясь столбца содержимого. Этот вывод Lob не требуется для текущей сериализации и чрезвычайно замедляет цикл. Вот моя петля:

 val albumProtocs = MediaProtocs.AlbumList.newBuilder().addAllAlbum( ownAlbum.map { album -> MediaProtocs.Album.newBuilder() .setId(album.id) .setName(album.name) .addAllMedia(album.mediaItems.map { media -> MediaProtocs.Media.newBuilder().setId(media.id as Long) .setDescription(media.description) .setMimeType(media.mimetype).build() }).build() }).build() 

Hibernate загружает все ленивые поля, если вы вызываете какой-либо метод объекта entity, за исключением геттеров. Вам просто нужно найти, какой метод вызывается.

Вы можете попытаться загрузить список медиа напрямую без альбома. Также вы можете попробовать загрузить список носителей в список DTO с помощью прогнозов.

Intereting Posts
Джексон Миксинс с Котлином Свойства делегата Kotlin, реализующие функцию оператора «предоставлятьDelegate», но метод никогда не вызывал Room Persistence @Relation работает на Java, но не в Колине Java 8 stream.collect (Collectors.toMap ()) аналог в kotlin Преобразовать java в kotlin на пасту Как написать пользовательский getter, если свойства класса определены в конструкторе? Котлин Абстрактное защищенное свойство Строитель типа Builder? Как перевести это в котлин? Kotlin – единственный экземпляр класса, не являющегося одиночным? Невозможно создать частные классы с одинаковым именем в разных модулях Удостоверьтесь, что multipart имеет значение null в контроллере останова Обновление Kotlin от 1.0.2 до 1.0.3: java.lang.NoSuchMethodError: виртуальный метод не предоставленInjectedData $ app_compileDebugKotlin () Как преобразовать многие AsyncTasks в Rx Observables в Android? Цвет фона и перетасовка изображений в режиме прокрутки в recyclerView Android с помощью группового адаптера Как я могу сфотографировать свой sdk, закодированный с kotlin (и избавиться от метаданных)