2012-04-21 6 views
49

stavo usando Hibernate 3.6 dove ho un codice come questo:Hibernate 4.1Final alternativa per Hibernate.STRING

list =getSession().createSQLQuery(queryString) 
     .addScalar("UNAME",Hibernate.STRING) 
     .addScalar("COM",Hibernate.STRING) 
     .addScalar("COM_DATE",Hibernate.DATE) 
     .setString("id", Id).list(); 

ora a cambiare il barattolo da 3,6 a 4.1Final

sembra che l'addScalar metodo è askying per Tipo in luogo di Hibernate.STRING Non ho trovato alcun esempio caldo per risolvere questo. se c'è qualcuno che sa, per favore aiutami, grazie.

risposta

63

campi di tipo a org.hibernate.Hibernate sono deprecati (ed effettivamente rimossi) come risultato di HHH-5196

Ora diversi tipi di Hibernate può essere trovato da javadocs per Type. Nel tuo caso seguente dovrebbe funzionare:

.addScalar("UNAME", StringType.INSTANCE) 
    .addScalar("COM", StringType.INSTANCE) 
    .addScalar("COM_DATE", DateType.INSTANCE) 
+5

Invece di 'Hibernate.STRING' si può usare' StandardBasicTypes.STRING' anche, il valore è lo stesso ('StringType.INSTANCE'), forse questo è più facile per fusione ;-) – Betlista