Ich sah, es gibt viele Fragen, die früher auf die gleiche Sache im Stapelüberlauf auf verschiedene Arten gefragt. Ich habe eines dieser Probleme im Hibernate-Forum angeschaut und sie haben erwähnt, dass es funktionieren wird. Wir können beziehen sich diese linkHibernate 5.2.9: @Basic (fetch = FetchType.LAZY) funktioniert nicht
Basierend auf diesen Link, verzögertes Laden für Grundeigenschaften [] Typ wie Byte arbeiten sollte
ich Hibernate Version bin mit 5.2.9 + postgresql DB
Mein Entitätsmodell sieht aus wie dieser
@Entity
@Table
public class ResourceFileEntity {
@Id
@GeneratedValue
long id;
@Column
private String storageType;
@Column
private String path;
@Lob
@Basic(fetch = FetchType.LAZY)
@Column
byte[] fileContent;
// removed getters/setter for readibility
}
-Code an das Unternehmen zu holen ist
public ResourceFileEntity fetchEntity(long jId) throws IOException {
Session session = factory.openSession();
ResourceFileEntity entity = null;
Transaction tx = null;
try {
tx = session.beginTransaction();
entity = session.find(ResourceFileEntity.class, jId);
System.out.println(Hibernate.isPropertyInitialized(entity, "fileContent"));
tx.commit();
} catch (HibernateException e) {
if (tx != null)
tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return entity;
}
Eine Menge Leute haben über Bytecode-Erweiterung erwähnt, ich habe versucht, alle erforderlichen Details in meinem Projekt build.gradle und @LazyGroup setzen, aber immer noch kein Glück.
Irgendwelche Eingaben dazu sind eine große Hilfe!
+1. Es könnte ein Fehler sein. Wenn Ihnen die JPA-API besser gefällt, können Sie auch die [JPA-Testfallvorlage] (http://in.relation.to/2016/01/14/hibernate-jpa-test-case-template/) verwenden. –
Sicher. Wird den Testfall hinzufügen. Danke Vlad und Alex für die Antworten – Mohnish
Ich habe den Testfall in HHH-10929 hinzugefügt – Mohnish