क्या LAZY ऑब्जेक्ट की बजाय आईडी का उपयोग करके ऑब्जेक्ट को LAZY लोड करने और deserialize रखने का कोई तरीका है।हाइबरनेट और जैक्सन में आलसी लोडिंग deserialize
मेरे पास 2 वर्ग हैं जो कई से अधिक रिश्तों से जुड़े हुए हैं।
कुछ इस
public class User {
@Id
@JsonProperty
public long id;
@ManyToMany(
fetch = FetchType.EAGER,
)
@JoinTable(
name = "User_EntityType",
joinColumns = @JoinColumn(name = "user_id"),
inverseJoinColumns = @JoinColumn(name = "type_id")
)
@JsonProperty
public Set<Type> types;
}
public class Type {
@Id
@JsonProperty
public long id;
@ManyToMany(
fetch = FetchType.EAGER,
mappedBy = "types",
targetEntity = User.class
)
@JsonProperty
public Set<User> users;
}
डेटा प्रकार की तरह बस ठीक काम करता है। मैं बिना किसी मुद्दे के हाइबरनेट का उपयोग करके लिख और पढ़ सकता हूं।
हालांकि, मैं एक आरईएसटी एपीआई के साथ एक उपयोगकर्ता ऑब्जेक्ट वापस करने में सक्षम होना चाहता हूं, इसलिए मैं जैक्सन का उपयोग इसे deserialize करने के लिए कर रहा हूँ। मुद्दा यह है कि जब मैं ऐसा करता हूं, तो यह उपयोगकर्ता ऑब्जेक्ट में प्रत्येक प्रकार को deserialize, जिसमें अन्य प्रकार की वस्तुओं को शामिल किया गया है, और यह एक बड़ी गड़बड़ी बनाता है।
क्या इसके बजाय प्रकार के सेट के बजाय लंबे प्रकार के प्रकार के सेट को वापस करना संभव है?