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...
A chi non è mai capitato nelle proprie query di dover aggiungere sempre gli stessi filtri per esempio per non caricare righe con stati non logicamente validi o righe valide in certi intervalli di date? EclipseLink permette di inserire questi filtri una volta per tutte, dimenticandoci di doverci portare sempre il fardello....
Continue reading...
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...
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...
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, 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...
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...
Tutti coloro che sono soliti conservare ogni cosa, dai biglietti del cinema usati alle magliette di quando erano quindicenni, pensando ad un database applicherebbero la stessa logica e non si sognerebbero mai di cancellare nemmeno una riga!...
Continue reading...