EclipseLink JPA, gestire tabelle o viste senza ID univoci

database jpa senza chiave unicaNello sviluppo di web application basate sul framework Java EE utilizziamo l’ORM EclipseLink, nella sua versione 2.0. EclipseLink è un’implementazione delle specifiche JPA (JSR-000317) che ha come obiettivo la definizione di un layer per la gestione della persistenza dotato di funzionalità aggiuntive che rendono più semplice e veloce la gestione della cache ottimizzando le performance.

Quando possiamo progettare da zero la web application strutturiamo il database in modo che ogni tabella sia dotata di una chiave univoca, indispensabile per la definizione delle entity JPA, e del relativo indice, ma succede spesso di dover modificare o prendere in carico lo sviluppo di componenti che si appoggiano su database datati o comunque mal strutturati che includono viste o  tabelle prive di colonne univoche fra i vari record. Vediamo come operare in questi casi e quali sono i limiti.

Leggi tutto “EclipseLink JPA, gestire tabelle o viste senza ID univoci”

MySQL TEXT, MEDIUMTEXT e LONGTEXT … quali sono i limiti?

MySQL quali sono i limiti per TEXT, MEDIUMTEXT e LONGTEXT
MySQL Logo

Durante il design di un database relazionale, specialmente in ambito web, capita di dover gestire dati formati da porzioni di testo piuttosto corpose. Utilizzando MySQL ci vengono in soccorso quattro tipi, TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT. A differenza degli altri tipi non è possibile specificare una lunghezza per l’input atteso, ragion per cui, se si ignora quale sia il limite reale si può incorrere in troncamenti inattesi e soprattutto SILENTI.

Leggi tutto “MySQL TEXT, MEDIUMTEXT e LONGTEXT … quali sono i limiti?”

Autenticazione in una web application con Glassfish in 5 semplici passi

Lavorando su Tomcat, avevo sempre gestito l’autenticazione (per l’accesso a contenuti protetti) nelle web application  in modo semplice e veloce tramite il meccanismo dei Realm (http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html). Passando a Glassfish e cercando qualcosa di simile, non ho trovato una documentazione chiara che spiegasse passo passo come riuscire a realizzare il mio obiettivo. Pescando qua e là mi sono comunque accorta che il meccanismo è altrettanto semplice che su Tomcat, e non molto dissimile. Il procedimento illustrato è lo stesso per Glassfish 3.0.1 e Glassfish 3.1.1. Per la memorizzazione delle credenziali degli utenti utilizzerò un database MySql.

Autenticazione con Glassfish

Vediamo come fare in cinque semplici passi.

Leggi tutto “Autenticazione in una web application con Glassfish in 5 semplici passi”

Configurare risorse JDBC su Glassfish

In questo articolo vado a spiegare brevemente come configurare una risorsa JDBC su Glassfish, per permettere ad una web application di interagire con un database (es. Mysql). La procedura che seguirò è esattamente la stessa sia sulla versione 3.0.1 che sulla 3.1.1 di Glassfish.

Leggi tutto “Configurare risorse JDBC su Glassfish”