EclipseLink, Oracle Stored Function e Object Types appassionatamente insieme

Recentemente ho avuto a che fare con chiamate a Stored Function Oracle da una applicazione web basata su JPA come framework di persistenza. Purtroppo questo tipo di operazione non è coperto dalla specifica JPA, per cui bisogna ricorrere alle funzionalità specifiche del vendor che abbiamo scelto. Usando EclipseLink (ex Oracle TopLink) diciamo che si gioca in casa, anche se le cose si fanno molto complesse quando i parametri da scambiare con la funzione sono tipi complessi...
Continue reading...

JBoss 7 ed EclipseLink 2: una coppia quasi perfetta – Parte II (a.k.a weaving statico con Maven)

abbiamo visto le difficoltà incontrate nel far andare d’amore e d’accordo JBoss 7.0.2 ed EclipseLink 2.3. Probabilmente i problemi incontrati dipendevano dal fatto che la versione 7.0.2 non era completamente Java EE complinant, ma lo era solo per il profilo web. Con la nuova versione di JBoss (al momento 7.1.1) le cose sono leggermente migliorate ma, come anticipato, è meglio aggiornare anche EclipseLink alla versione 2.4. Vediamo perché....
Continue reading...

JBoss 7 ed EclipseLink 2: una coppia quasi perfetta – Parte I (a.k.a. weaving statico con Ant)

Gli Application Server (AS) basati sulle specifiche Java EE ci permettono spostare una applicazione da uno all’altro senza problemi, e allo stesso tempo ci mettono in condizione di essere in grado di lavorare indistintamente con uno o l’altro AS… questo almeno in teoria! In pratica invece ci scontriamo con tutte le configurazioni specifiche di ogni AS, nonché con deployment descriptors proprietari che variano da server a server. Di solito quindi, una volta scelto l’AS su cui lavorare, è bene affidarsi a tutte le implementazioni delle specifiche che esso porta con se, per avere meno problemi possibile. Prendiamo per esempio JBoss 7, che come implementazione di JPA ha Hibernate. Finché usiamo questa implementazione della specifica JPA, funziona tutto correttamente: se però abbiamo bisogno di passare per esempio ad EclipseLink, perché magari preferiamo qualche sua caratteristica peculiare, dobbiamo armarci di pazienza e rimboccarci le maniche!...
Continue reading...

EclipseLink HistorySession e DDL generation

In due post precedenti (Eclipselink Historical Session: come tenere traccia dei cambiamenti di una tabella – Parte I e Parte II) è stato trattato il tema della gestione dello storico con EclipseLink: dalla configurazione, ai vari modi in cui può essere usato fino a presentare alcune limitazioni intrinseche al framework.

Tutto quel che si è detto in quei post è valido e funziona ammesso che abbiamo già creato lo schema su cui andremo a lavorare. Cosa succede invece se non lo abbiamo?...
Continue reading...

EclipseLink Session Events

EclipseLink, come altre implementazioni della specifica JPA (Java Persistence Api), solleva il programmatore da molti affanni. Tuttavia ci sono casi in cui è necessario entrare in merito a cosa stia succedendo. In questo post vediamo come intercettare eventi di tipo SessionEvent e utilizzarli per le nostre esigenze più segrete....
Continue reading...

EclipseLink Historical Session: come tenere traccia dei cambiamenti di una tabella – Parte II

Abbiamo affrontato in un altro post il tema della tracciabilità dei cambiamenti sui dati sensibili e i sistemi teorici che permettono di realizzarla. Siamo scesi poi nel dettaglio di come EclipseLink implementa uno di questi sistemi e di come configurare l’ambiente di lavoro per potercene avvalere in modo piuttosto semplice. Vediamo quindi adesso come poter interagire con i dati salvati nello storico… effettuando query nel passato!!...
Continue reading...