JPa..Duvida no uso do metodo find....Can not find by Class

2 respostas
P

Olá,

estou usando um DAO generico e estou em duvida como chamar o metodo find
passando um objeto ???

Pois tenho que passar para o metodo um entity public T find(T entity)

o que tenho que passar ??? não entendi ???

se alguém puder me ajudar …

VDao vDao = new VDao();
		Device device = new Device();
		device.setId(02);
		Device d = vDao.find(imsDeviceVendor);
		
		System.out.println("objeto ="+imsDevicevendor1);
public T find(T entity) throws DaoException {
    	T t = null;
    	try {
    		t = imsDBMng.getManager().find(domainClass, entity);
    		return t;
    	} catch(Exception e) {
    		throw new DaoException(getErrorCode(METHOD_FIND_BY_CLASS), "Can not find by Class", e);
    	}
    }
Exception in thread "main" br.com.certisign.core.persistence.DaoException: 221::Can not find by Class
	at br.com.certisign.core.persistence.AbstractBaseDao.find(AbstractBaseDao.java:72)
	at br.com.certisign.ims.data.persistence.teste.main(teste.java:272)
Caused by: java.lang.IllegalArgumentException: br.com.certisign.ims.data.model.device.ImsDeviceVendor
	at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:199)
	at br.com.certisign.core.persistence.AbstractBaseDao.find(AbstractBaseDao.java:69)
	... 1 more
Caused by: java.lang.ClassCastException: br.com.certisign.ims.data.model.device.ImsDeviceVendor
	at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:182)
	... 2 more
- Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
- No TransactionManagerLookup configured (in JTA environment, use of read-write or transacti

2 Respostas

thiago.limma
paribe:
Olá,

estou usando um DAO generico e estou em duvida como chamar o metodo find
passando um objeto ?????

Pois tenho que passar para o metodo um entity public T find(T entity)

o que tenho que passar ????? não entendi ????

se alguém puder me ajudar ....

VDao vDao = new VDao();
		Device device = new Device();
		device.setId(02);
		Device d = vDao.find(imsDeviceVendor);
		
		System.out.println("objeto ="+imsDevicevendor1);
public T find(T entity) throws DaoException {
    	T t = null;
    	try {
    		t = imsDBMng.getManager().find(domainClass, entity);
    		return t;
    	} catch(Exception e) {
    		throw new DaoException(getErrorCode(METHOD_FIND_BY_CLASS), "Can not find by Class", e);
    	}
    }
Exception in thread "main" br.com.certisign.core.persistence.DaoException: 221::Can not find by Class
	at br.com.certisign.core.persistence.AbstractBaseDao.find(AbstractBaseDao.java:72)
	at br.com.certisign.ims.data.persistence.teste.main(teste.java:272)
Caused by: java.lang.IllegalArgumentException: br.com.certisign.ims.data.model.device.ImsDeviceVendor
	at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:199)
	at br.com.certisign.core.persistence.AbstractBaseDao.find(AbstractBaseDao.java:69)
	... 1 more
Caused by: java.lang.ClassCastException: br.com.certisign.ims.data.model.device.ImsDeviceVendor
	at org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:182)
	... 2 more
- Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
- No TransactionManagerLookup configured (in JTA environment, use of read-write or transacti

Quando vc for implementar essa Dao, o "T" será a classe que vc deseja fazer o find...

P

então foi o que fiz passei o objeto que solicita no metodo como parametro

não entendi o que tenho que passar então ???

VDao vDao = new VDao();   
        Device device = new Device();   
        device.setId(02);   
        Device d = vDao.find(imsDeviceVendor);   
  
        System.out.println("objeto ="+imsDevicevendor1);
Criado 11 de dezembro de 2008
Ultima resposta 11 de dez. de 2008
Respostas 2
Participantes 2