मुझे अपने जेपीए ईवेंट (पोस्टअपडेट) पर काम करना पड़ा है और जब मैं @ एलीमेंट कोलेक्शन के रूप में मैप किए गए लोगों को छोड़कर अपनी इकाई पर एक संपत्ति अपडेट करता हूं तो वे ठीक से ट्रिगर कर रहे हैं।मेरे EventListeners को मेरे @ElementCollection गुणों के लिए ट्रिगर करने की चाल क्या है?
क्या यह एक प्रतिबंध है? एक विन्यास विकल्प?
यहाँ मेरी इकाई
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Pckg {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = false, length = 100)
private String title;
@ElementCollection
@CollectionTable (
name = "PckDest",
joinColumns = @JoinColumn(name = "package_id", nullable = false)
)
@Column(name = "destination", nullable = false, length = 150)
private List<String> destinations;
...
दूसरे शब्दों में, अगर मैं "शीर्षक" बदलने के परिवर्तन मेरी श्रोता द्वारा catched है का हिस्सा है, लेकिन एक ही नहीं होती है जब मैं "स्थलों" बदलने
मैं हाइबरनेट (4.0) प्रदाता के रूप में साथ जेपीए उपयोग कर रहा हूँ वसंत के माध्यम से (3,1)
धन्यवाद
क्या आप कह सकते हैं कि आप "गंतव्यों" _change के बदले में अधिक विशिष्ट हो सकते हैं? क्या आप सूची बदल रहे हैं या सूची संशोधित कर रहे हैं? – pgreen2
@ pgreen2 thx, जब मैंने कहा _change_ मेरा मतलब किसी भी तरह से था, सूची में एक तत्व जैसे 'गंतव्यों.एड ("एलए"); या बस एक नई सूची सेट करना 'गंतव्यों = नया ArrayList() ... 'तो मैंने' EntityManager.save (xx)' कहा। ऊपर आग से कोई भी मेरी 'onPostUpdate()', जबकि 'Pckg.setTitle (" नया शीर्षक ") कर' मेरी श्रोता सही ढंग से आग – maverick
करता है मैं (कल्पना पर एक संक्षिप्त देखो http://download.oracle.com/ ले लिया otndocs/jcp/persistence-2.0-fr-oth-JSpec /) और गलत होने के कारण मुझ पर कुछ भी नहीं निकलता है। जब घटनाएं होती हैं तो मैंने कुछ नोट्स नोटिस किए। वे तब हो सकते हैं जब संशोधन होता है या जब परिवर्तन फ़्लश हो जाता है। साथ ही, spec यह नहीं बताता कि क्या होता है यदि कोई इकाई संशोधित की जाती है और फिर हटाया जाता है या जोड़ा जाता है और फिर संशोधित किया जाता है। ऐसा लगता है कि इन किनारे के मामलों में आपकी समस्या नहीं है। मेरे पास टेस्ट बेड सेटअप नहीं है। क्या आप अपना श्रोता कोड और टेस्ट कोड पोस्ट कर सकते हैं? – pgreen2