gkourou Δημοσ. 9 Νοεμβρίου 2010 Δημοσ. 9 Νοεμβρίου 2010 Πρώτα από όλα, δουλεύω σε Java και συγεκριμένα στο NetBeans IDE. 'Ετσι, έχω μια κλάση Person που κληρονομεί δύο υποκλάσεις : Trainer, και Athlete. Στην main, δημιουργώ μια ArrayList list = new ArrayList(); και μετά την γείζω με αντικείμενα που έχω δημιουργήσει και έχω κάνει persistent. Trainer tr1= new Trainer("George","White","England",5665); Athlete ath1= new Athlete("Mairy","Willians","France",1,'f',"21/3/1988",68,172,"France"); list.add(ath1); Athlete ath2=new Athlete("Iggy","Black","USA",2,'f',"10/4/1988",70,175,"U.S.A."); list.add(ath2); tr1.setAthletes(list); Αυτά τα πεδία , είναι καλώς ορισμένα στους εκάστοτε δομητές. Μετά τα κάνω persistent. em2.persist(tr1); em2.persist(ath1); em2.persist(ath2); Στο τέλος, τα αντικείμενα tr1, ath1, ath2 είναι persistent, αλλά σε επίπεδο Java, και όχι σε επίπεδο jpa, ή objectdb, ενώ εγώ αυτό θέλω Should i start over? Anyone that can help me out with this guys? I really need help, that's serious. Thanks in advance. George. PS: Φυσικά έχω κάνει τα απαραίτητα import javax.persistence.; import java.util.; EntityManagerFactory emf2 = Persistence.createEntityManagerFactory("$objectdb/db/personas2.odb"); EntityManager em2 = emf2.createEntityManager(); em2.getTransaction().begin(); em2.getTransaction().commit(); em2.close(); emf2.close();
djcat Δημοσ. 9 Νοεμβρίου 2010 Δημοσ. 9 Νοεμβρίου 2010 Πρώτα από όλα, δουλεύω σε Java και συγεκριμένα στο NetBeans IDE. 'Ετσι, έχω μια κλάση Person που κληρονομεί δύο υποκλάσεις : Trainer, και Athlete. Στην main, δημιουργώ μια ArrayList list = new ArrayList(); και μετά την γείζω με αντικείμενα που έχω δημιουργήσει και έχω κάνει persistent. Trainer tr1= new Trainer("George","White","England",5665); Athlete ath1= new Athlete("Mairy","Willians","France",1,'f',"21/3/1988",68,172,"France"); list.add(ath1); Athlete ath2=new Athlete("Iggy","Black","USA",2,'f',"10/4/1988",70,175,"U.S.A."); list.add(ath2); tr1.setAthletes(list); Αυτά τα πεδία , είναι καλώς ορισμένα στους εκάστοτε δομητές. Μετά τα κάνω persistent. em2.persist(tr1); em2.persist(ath1); em2.persist(ath2); Στο τέλος, τα αντικείμενα tr1, ath1, ath2 είναι persistent, αλλά σε επίπεδο Java, και όχι σε επίπεδο jpa, ή objectdb, ενώ εγώ αυτό θέλω Should i start over? Anyone that can help me out with this guys? I really need help, that's serious. Thanks in advance. George. PS: Φυσικά έχω κάνει τα απαραίτητα import javax.persistence.; import java.util.; EntityManagerFactory emf2 = Persistence.createEntityManagerFactory("$objectdb/db/personas2.odb"); EntityManager em2 = emf2.createEntityManager(); em2.getTransaction().begin(); em2.close(); emf2.close(); commit έκανες;
gkourou Δημοσ. 9 Νοεμβρίου 2010 Μέλος Δημοσ. 9 Νοεμβρίου 2010 Ναι, djcat, έχω κάνει και τα object γινονται persistent κανονικα. το θεμα ειναι πως θα περασω μια λιστα μεσα στην objectdb, γιατι απο την Java, εξω ειναι το μονο ευκολο(ετσι οπως το εχω κανει δηλαδη), το θεμα ειναι να υπαρχει η λιστα μεσα στην Βαση της objectdb που δημιουργω και να ειανι retievable. Εχει κανεις βοηθεια; Ευχαριστω προκαταβολικα. Γιώργος.
djcat Δημοσ. 9 Νοεμβρίου 2010 Δημοσ. 9 Νοεμβρίου 2010 Ναι, djcat, έχω κάνει και τα object γινονται persistent κανονικα.το θεμα ειναι πως θα περασω μια λιστα μεσα στην objectdb, γιατι απο την Java, εξω ειναι το μονο ευκολο(ετσι οπως το εχω κανει δηλαδη), το θεμα ειναι να υπαρχει η λιστα μεσα στην Βαση της objectdb που δημιουργω και να ειανι retievable. Εχει κανεις βοηθεια; Ευχαριστω προκαταβολικα. Γιώργος. Με derby database παίζεις και θες να σώσεις σε ένα entry μια λίστα από αντικείμενα;
Επισκέπτης Δημοσ. 9 Νοεμβρίου 2010 Δημοσ. 9 Νοεμβρίου 2010 Περιέγραψε καλύτερα το πρόβλημά σου. Χρησιμοποίησε σωστή σύνταξη και ορθογραφία... (αν θες να βρεθεί λύση...)
gkourou Δημοσ. 9 Νοεμβρίου 2010 Μέλος Δημοσ. 9 Νοεμβρίου 2010 Νομιζω βρηκα την λυση, συγνωμη για το ποστ!!!! Σε ευχαριστω πολυ djcat για την απαντηση ομως!
Επισκέπτης Δημοσ. 9 Νοεμβρίου 2010 Δημοσ. 9 Νοεμβρίου 2010 ωραία, αφού βρήκες τη λύση, αν μπορείς, κάτσε δυο λεπτά και περιέγραψε ποιο ήταν το πρόβλημά σου και τι λύση βρήκες...
gkourou Δημοσ. 9 Νοεμβρίου 2010 Μέλος Δημοσ. 9 Νοεμβρίου 2010 Περιγραφω: Ας πουμε οτι εχουμε μια υπερκλαση Anthropos, και 2 υποκλασεις Dad και Child. Και μια bidirectional αμφιδρομη σχεση ManyToOne μεταξυ τους. Λοιπον, το προβλημα μου ητανε πως να κανω persistent μια λιστα μεσα στην φυσικη Βαση Δεδομενων που παραγει η objectdb. Αρχικα ειχα περασει την λιστα με εναν κλασσικο τροπο που χρησιμοποιει η Java, ομως μετα καταλαβα πως πρεπει η μια οψη του ενος πεδιου(πχ Dad) να δειχνει στο αλλο(πχ Child) ΚΑΙ αντιστροφα. 'Ετσι, υλοποιώντας μια απλη μεθοδο addToChildren() μέσα στην αλλη κλαση Dad, και αφου την καλεσω μεσα στην main και περασω τα στοιχεια απο την μια οψη στην αλλη, το προβλημα λυθηκε. ΛΥΣΗ: (Class Dad) >public void addToChildren(Child child) { child.setDad(this); this.childRef.add(child); } (Main) >Dad d1 = new Dad([i]εκαστοτε_πεδία_δομητη[/i]); Athlete ath1 = new Athlete([i]εκαστοτε_πεδια_δομητη[/i]); tr1.addToChildern(d1); Επισης φυσικα πρεπει να κανω και τις αναλογες προσθηκες(add) στην λιστα των παιδιων για να δουλεψει. Σας ευχαριστω ομως για τις αμεσες απαντησεις.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.