Я реализовал хорошо известную общую картину дао с отражением (Кевин Бауэрсокс):Generic DAO и org.hibernate.MappingException: Неизвестный объект: java.lang.Object
public class NewBaseDaoImpl<T, ID extends Serializable> implements NewBaseDao<T,ID> {
private Class<T> entity;
@PersistenceContext(unitName = "orm-unit")
private EntityManager em;
@SuppressWarnings("unchecked")
public NewBaseDaoImpl(){
this.entity = (Class<T>)((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
@Override
public T read(ID id) {
return em.find(this.getEntity(), id);
}
Вставка данных работает нормально, но когда я попытаться найти объект по идентификатору, как так:
RepairShop rs = (RepairShop) bean.read(1L);
я получаю:
java.lang.IllegalArgumentException: Неизвестный объект: java.lang.Object (org.hibernate.MappingExceptio n: Неизвестный объект: java.lang.Object)
Что не так?