• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 18, 2025, 12:51:39 pm

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 18, 2025, 12:51:39 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
H Στοά των Off Topic
by Nikos_313
[Today at 08:53:31]

[Μεταφορά και Διανομή ΗΕ]...
by tzortzis
[Today at 07:55:05]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by chris_p30
[Today at 00:45:33]

Ισραήλ - Ιράν: Πόλεμος στ...
by Katarameno
[June 17, 2025, 21:32:50 pm]

[Ψηφιακά Ολοκληρωμένα Κυκ...
by tzortzis
[June 17, 2025, 21:25:42 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by PAPARI69
[June 17, 2025, 20:59:13 pm]

[Γραφική] Λυμένα θέματα
by okanpala
[June 17, 2025, 18:56:22 pm]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[June 17, 2025, 14:25:00 pm]

Αντικατάστασης πυκνωτή σε...
by george14
[June 17, 2025, 13:58:20 pm]

Πότε θα βγει το μάθημα; -...
by tzortzis
[June 17, 2025, 13:19:53 pm]

Αποτελέσματα Εξεταστικής ...
by george14
[June 17, 2025, 12:08:25 pm]

[ΨEE] Γενικές απορίες και...
by Juror8
[June 17, 2025, 12:06:57 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426709
Total Topics: 31711
Online Today: 215
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 66
Guests: 109
Total: 175
ඞ
Nikikouss
Fotis Roukoutakis
gcheristanidhs
gpr000
mark
Denisivo
leolam
dimitire
tsaliki
MrGreekArrow
themis01
Acad-Mics
george polymeros
JoHn!
eviii
sterxz
elias_farhood
menelaras
Nikos.Ts
kosovi
bit11
jimalexoud
nikoskaza
vaggelisx
Manos_5
MrEagle
johncow
aliceouzou
kostas1507
cheinopor
PetrosCc
Xontroulis
akontel
et7gr
thanosk
1234
Pumpakos
mamalakis
Sanaia
swthrhs
rafa98p
distillery
Le ece
mimaki
PanosPapaspirou
Διάλεξις
stergiosb
palladas
Nicotre
kapas
elizabeth
Reidemption
satsok
manolitsis
Manifold
romanos
stavros0201
iasonaskaraminas
Mr White
kstavroulis
Oxil
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Πληροφορίες Καθηγητών
THMMY.gr > Forum > Ηλεκτρονικοί Υπολογιστές και Τεχνικά Θέματα > Περί Υπολογιστών... > Software > Προγραμματισμός (C, VB, Delphi, PHP, ASP...) > Java (Moderators: chatzikys, PolarBear) > ScriptEngine και Hibernate.
0 Members and 1 Guest are viewing this topic.
Pages: [1] Go Down Print
Author Topic: ScriptEngine και Hibernate.  (Read 1036 times)
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
ScriptEngine και Hibernate.
« on: October 07, 2010, 02:16:55 am »

Το hibernate είναι ένα βοηθητικό εργαλείο που επιτρέπει την ενσωμάτωση χαρακτηριστικών ODBMS σε RDBMS βάσεις δεδομένων. Είναι εξωτερικά Jar που ενσωματώνεις στην εφαρμογή σου και χρησιμοποιούν Reflection για να διαβάσουν τις κλάσεις και να εφαρμόσουν αρχές αντικειμενοστρεφών βάσεων δεδομένων σε αυτές.

Η κλάση ScriptEngine και οι παράγωγές της επιτρέπουν την εκτέλεση και το compile σε πηγαίο κώδικα την στιγμή που τρέχει η εφαρμογή χωρίς να απαιτείται restart. Δίνεις στην ScriptEngine τον φάκελο με τα αρχεία java και με αναδρομή αυτή τα κάνει compile. Τα αρχεία δεν γίνονται Linking στην κυρίως εφαρμογή καθώς έχουν δικό τους ξεχωριστό classpath το οποίο δεν εμφανίζεται πουθενά.

Εκεί ξεκινά και το πρόβλημα. Δέν μπορώ να κάνω τα Jar του Hibernate να δούν κλάσεις που βρίσκονται στο Classpath που προκύπτει από το Compilation της ScriptEngine. Τα jar, είναι της εφαρμογής και βλέπουν το classpath της εφαρμογής και της java. Πάνε 5 μέρες τώρα που προσπαθώ χωρίς αποτέλεσμα. Γενικά γνωρίζει κανείς αν είναι δυνατόν να γίνει "Reflection" από μία εφαρμογή σε κλάσεις που έχουν γίνει compile on runtime από ScriptEngine ?
Logged

We can be a nation that believe in war,
And still tells the world that we don't.
Let the flag for hypocrisy fly high from every pole
We're a little bit country, and we're a little bit rock n' roll
antares
Νεούλης/Νεούλα
*
Gender: Male
Posts: 48


Do you want some...thmmy, darling?


View Profile
Re: ScriptEngine και Hibernate.
« Reply #1 on: October 07, 2010, 12:14:34 pm »

Το Hibernate φορτώνει τα mappings των κλάσεων κατά την εκκίνηση (ή οταν πρωτοφτιάχνεις το SessionFactory αν θέλεις). Οπότε και να ήταν ίδιο το classpath μεταξύ των 2 modules, το Hibernate δεν θα καταλάβαινε τις κλάσεις γιατί δεν θα υπήρχαν τα mappings. Αλλά και να είχες τα mappings (τα δημιουργούσες runtime), σε τι αντικείμενα στο rdbms θα έκαναν map?

To ερώτημα σχετικά με το "reflection" λύνεται με το να χρησιμοποιήσεις τον default ClassLoader και φορτώσεις τις κλάσεις δυναμικά:
Code:
ClassLoader.getSystemClassLoader().loadClass(className)
Logged
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
Re: ScriptEngine και Hibernate.
« Reply #2 on: October 07, 2010, 12:32:56 pm »

Τις κλάσεις δεν μπορώ να τις φορτώσω δυναμικά όταν χρησιμοποιώ ScriptEngine για να κάνω compile γιατί βρίσκονται σε ξεχωριστό classpath και δεν δημιουργούνται .class αρχεία. Άν χρησιμοποιήσω custom class loader, θα φορτωθεί μεν η κλάση στο classpath αλλά θα είναι διαφορετική από αυτήν που προέκυψε από την ScriptEngine right ? Μία λύση σαφώς θα ήταν να μετατρέψω όλο το Project μου ώστε να φορτώνονται οι κλάσεις μέσω ενός ClassLoader η καθεμιά. Είναι στίς λύσεις ανάγκης και προσπαθώ να την αποφύγω Smiley Όσο για το factory, καθε φορά που κάνω recompile/reload τον κώδικα, δημιουργώ νέο factory/config και γίνονται load όλα τα mappings ( annotations έχω ) από την αρχή.
« Last Edit: October 07, 2010, 12:35:13 pm by Issle » Logged

We can be a nation that believe in war,
And still tells the world that we don't.
Let the flag for hypocrisy fly high from every pole
We're a little bit country, and we're a little bit rock n' roll
antares
Νεούλης/Νεούλα
*
Gender: Male
Posts: 48


Do you want some...thmmy, darling?


View Profile
Re: ScriptEngine και Hibernate.
« Reply #3 on: October 07, 2010, 22:24:07 pm »

Εφόσον δεν έχεις class αρχεία, δεν μπορείς να χρησιμοποιήσεις τον default class loader για να φορτώσεις δυναμικά τις κλάσεις. Άρα υποχρεωτικά θα χρησιμοποιήσεις είτε τον class loader του script engine είτε ένα custom δικό σου. Μου φαίνεται ότι είναι η μόνh λύση.

Τα νέα αρχεία που κάνουν map στο rdbms?
Logged
Issle
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 602



View Profile
Re: ScriptEngine και Hibernate.
« Reply #4 on: October 08, 2010, 00:38:59 am »

Yap και εγώ κάπου εκεί κατέληξα, κρίμα όμως, java let me down ...

Όσο για τα αρχεία το mapping γίνεται με annotation από τις κλάσεις σε table της MySQL. Δεν χρησιμοποιώ xml mapping files.

πχ

@Entity
public class Employee{

@Id
private int employeeId

...
}

Δίνω την κλάση στο Hibernate το οποίο με Reflection εντοπίζει τα στοιχεία της κλάσης και την κάνει Persistant.

Quote
Τα νέα αρχεία που κάνουν map στο rdbms?

Καθότι τα αρχεία βρίσκονταί σε διαφορετικό ClassPath από αυτό της εφαρμογής ( στην οποία υπάρχουν τα Jar του Hibernate ) , welcome to ClassNotFoundException  Smiley. Ένώ μέσα από την main() (αυτή που ξεκινά από ScriptEngine ) μπορώ να κάνω reflect.
« Last Edit: October 08, 2010, 00:41:45 am by Issle » Logged

We can be a nation that believe in war,
And still tells the world that we don't.
Let the flag for hypocrisy fly high from every pole
We're a little bit country, and we're a little bit rock n' roll
Pages: [1] Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...