Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Reflection E Parametrizedtype

    public abstract class GenericHibernateDAO<T, ID extends Serializable>
    implements GenericDAO<T, ID> {

    private Class<T> persistentClass;
    private Session session;

    public GenericHibernateDAO() {
    this.persistentClass = (Class<T>) ((ParameterizedType) getClass()
    .getGenericSuperclass()).getActualTypeArguments()[0];
    }

    ho trovato questo stralcio di codice sul sito di hibernate. Il grande vantaggio sarebbe quello di creare una classe DAO generica che esegue le operazioni standard sulle entità permanenti (crea, salva, aggiorna, elimina). Hibernate per fare queste operazioni ha bisogno di conoscere il tipo della classe persistente (persistentClass). Tale tipo dovrebbe essere dedotto dal paramentro [0] dei "generici" della classe (cioè T)... il codice suggerito però non funziona dicendomi che nn può fare il cast da Class a PametrizedType .... qualcuno di voi ha qualche idea???
    Ci vuole un caos dentro di se per generare una stella danzante... Nietzsche
    MyBloG:http://mastinopalemmitano.blogspot.com/

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    codice:
    public abstract class BaseDaoImpl<T extends BaseEntity, I extends Serializable> implements BaseDao<T, I> {
    
    	private Class<T> persistentClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
    
    ...
    a me funziona senza problemi in tutte le mie applicazioni...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.