Archive for the 'programmazione' Category

org.hibernate.connection.DBCPConnectionProvider

Tutte le volte che inizio un nuovo progetto con Hibernate la Hibernate Console di Eclipse si lamenta della mancanza della suddetta. E, visto che non creo certo un progetto alla settimana, io puntualmente mi dimentico che cavolo è / dove si trova / a cosa serve.

Cos’è ? Un connection provider

Dove si trova? In un vecchio progetto. Altrimenti si puo usare la versione in questa pagina .

P.S. : La Hibernate Console si lamenta perchè suddetta classe si trova nel pack org che io regolarmente mi dimentico di copiare pensando che la persistenza stia tutta, come il nome vorrebbe, nel pack persistence.

Hibernate e la generazione di query…

SELECT * FROM (SELECT THIS_.CC120_PG AS T1_1_5_,
THIS_.CC120_PG_OWN AS T2_1_5_, THIS_.CC120_UNI_AMM AS T3_1_5_,
THIS_.ID1 AS T4_1_5_, THIS_.CC120_TP_GES AS T5_1_5_,
THIS_.CC120_DESC AS T6_1_5_, THIS_.CC120_QTA AS T7_1_5_,
THIS_.CC120_NUM AS T8_1_5_, THIS_.CC120_VAL AS T9_1_5_,
THIS_.CC120_ASS AS TT110_1_5_, THIS_.CC120_NOTE AS T11_1_5_,
THIS_.CC120_VAL_EURO AS CC120_1_5_, THIS_.CC120_ASS_EURO AS T13_1_5_,
T1_.TT110_PG AS T1_6_0_, T1_.MOVI AS T2_6_0_,
T1_.TCAT AS T3_6_0_, T1_.CDC AS T4_6_0_,
T1_.TT110_BEN AS T5_6_0_, T1_.TT110_FLG_PRO AS T6_6_0_,
T1_.TT110_UNI_AMM AS T7_6_0_, T1_.ANNO AS T8_6_0_,
T1_.TT110_CDC AS T9_6_0_, T1_.TT110_NUM AS TT110_6_0_,
T1_.DATA AS T11_6_0_, T1_.TT110_IMP AS CC120_6_0_,
T1_.ANNO_IMP AS T13_6_0_, T1_.TCAT_CAP AS T14_6_0_,
T1_.TT110_FONDO AS T15_6_0_, T1_.TT110_NUMERO AS T16_6_0_,
T1_.ANN AS T17_6_0_, T1_.TT110_NOTE AS T18_6_0_,

Continue reading ‘Hibernate e la generazione di query…’

Cosa cambiare se finisce l’heap space di Tomcat?

Capita, specie se si fa reload di webapp ogni 5 minuti, che tomcat mandi un errore riferito al PerGen Space.

Ora, premesso che non è bene reloadare a nastro, se proprio è necessario farlo per ragioni di test, si può risolvere aumentando la dimensione massima del permanent generation heap. La configurazione si trova in genere nel file di profile dell’utente che esegue tomcat e si chiama -Xmx . La configurazione di default è 64mb, ma se avete ampie disponibilità di memoria ci si puo azzardare anche in un -Xmx1024m equivalente quindi a 1 gigabyte. L’importante è NON settare un valore superiore a quello della memoria fisica a disposizione, pena continue swappate.

Java, struts e hibernate

Nuovo ambiente di sviluppo che utilizzo. E’ presto per tirare delle conclusioni o scrivere delle miniguide ma potrebbero tornare utili le mie collezioni di link (in continua evoluzione, via del.icio.us):

Java (include i successivi) , Struts , Hibernate

Litigando con le comboBox

csharp Un paio di cose da sapere sulle comboBox in C# / WindowsForms:

  • La generazione automatica del codice produce un controllo che non serve a nulla
  • Nell’ipotesi piu classica, ovvero di avere una form che mostra il contenuto di una tabella con collegamenti ad atre tabelle mediante id, la soluzione piu comoda per permettere l’editing è la comboBox
  • Per "caricare" i dati da un altra tabella bisogna associare a ComboBox.DataSource una bindingSource avendo cura di specificare in ComboBox.DisplayMember il nome del campo da visualizzare, e in ComboBox.ValueMember il nome del campo contenente la chiave su cui è basato il collegamento tra le due tabelle (in genere Id)
  • Il dataBinding va eseguito sulla proprietà "SelectedValue"

 

Esempio:

this.MycomboBox.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.PrimaryBindingSource, "nomecampo_contenente_id", true));
this.MycomboBox.DataSource = this.SecBindingSource;
this.MycomboBox.DisplayMember = "Nome";
this.MycomboBox.ValueMember = "Id";

Appunti .net

net.jpgInauguro un post di appunti vari in ambiente .net/c#. Chissà … magari può tornare utile …

ConfigurationManager

Utilizzare la stringa di connessione memorizzata nel file di config è una buona pratica e questa stringa è accessibile tramite questa semplice riga di codice :

string constr = System.Configuration.ConfigurationManager.ConnectionStrings["nome connessione"].ConnectionString;

Ma bisogna ricordarsi di aggiungere tra i riferimenti System.configuration

Date Format

La tecnica detta “Date formatting” è quella tecnica che permette di effettuare un controllo sulla formattazione di una data in formato stringa. Il framework rappresenta le date con il tipo di dato DateTime; questo tipo di dato implementa l’interfaccia IFormattable che gli permette di essere appunto formattato in una stringa, attraverso uno degli overload del metodo ToString(), potendo scegliere tra vari tipi di formati.
Il formato scelto va definito passando al metodo ToString() una stringa di testo contenente il pattern corrispondente.
Ecco l’elenco di tutti i pattern disponibili (prendendo come data il 18/09/2005 15:00):

Via AspCode.it

Esempio usando un DataReader :

((DateTime)MyReader[2]).ToString(”dd/MM/yyyy”);

Settare il livello di sicurezza di Access avviato tramite PIA

(Access.ApplicationClass).AutomationSecurity = Microsoft.Office.Core.MsoAutomationSecurity.msoAutomationSecurityLow;

E si può dire addio alle fastidiose richieste di conferma…

Pia 2003

Nonostante ciò che si legge in giro, a volte serve scaricare e installare le Primary Interop Assemblies anche se si usa Office 2003. Si trovano qua

P.s. : Sto cercando di fare quanto spiegato qua