• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
August 03, 2026, 14:54: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.
August 03, 2026, 14:54:39 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Των συνειρμών το παίγνιο....
by Μπιγκόνια
[August 02, 2026, 22:06:12 pm]

Νευρωνικά Δίκτυα - Βαθιά...
by Tasos Bot
[August 02, 2026, 15:14:15 pm]

[ΑΣΗΕ] Να επιλέξω το μάθη...
by Tasos Bot
[August 02, 2026, 14:41:37 pm]

[Βιοϊατρική Τεχνολογία] Ν...
by Tasos Bot
[August 02, 2026, 14:04:22 pm]

[Τεχνικές Βελτιστοποίησης...
by Tasos Bot
[August 02, 2026, 13:45:14 pm]

[Λειτουργικά Συστήματα] Ν...
by Tasos Bot
[August 02, 2026, 13:22:10 pm]

[Ανάλυση Δεδομένων] Να επ...
by Tasos Bot
[August 02, 2026, 12:49:25 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Ponan
[August 02, 2026, 00:17:27 am]

Πρόγραμμα επαναληπτικής ε...
by Nikos_313
[August 01, 2026, 22:47:39 pm]

Τα παράσιτα ανάμεσά μας
by χηρουλα Αλεξίου
[July 31, 2026, 18:49:30 pm]

Αποτελέσματα Εξεταστικής ...
by lulling
[July 31, 2026, 10:15:28 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 30, 2026, 17:01:28 pm]

Μεταπτυχιακό στο EPFL
by Nikos_313
[July 30, 2026, 14:24:35 pm]

Οδύσσεια
by mdimitrig
[July 30, 2026, 09:53:33 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[July 29, 2026, 21:50:10 pm]

Προσκεκλημένοι στην τελετ...
by okan
[July 28, 2026, 14:46:07 pm]

Πότε θα βγει το μάθημα; -...
by Hyperlaz02
[July 28, 2026, 11:36:56 am]

Μουντιάλ 2026
by Nikos_313
[July 22, 2026, 21:41:08 pm]

[Ηλεκτρομαγνητική Συμβατό...
by RivenT
[July 22, 2026, 12:35:05 pm]

[Τεχνολογία Ηλεκτροτεχνικ...
by georkala
[July 18, 2026, 19:10:10 pm]
Στατιστικά
Members
Total Members: 10415
Latest: anasim
Stats
Total Posts: 1431792
Total Topics: 32029
Online Today: 690
Online Ever: 18918
(April 06, 2026, 16:05:31 pm)
Users Online
Users: 22
Guests: 546
Total: 568
Tasos Bot
GK
Don
fungi
chris123
RivenT
iliaskou
sassi
Katerinapolitikou
stavros0201
FINngineer
ThanosTheTT
cpanagiom
dorapangeiou
TheBadSalesman
Manifold
parvanitid
chatzikys
Gaspard
Εμφάνιση

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

Νέα!
Πρόγραμμα Εξεταστικής Εαρινού Εξαμήνου 2025-2026
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 1385 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...