Глюки проксей в Hibernate
Постоянная ссылка 18-07-2008 anydoby

Сегодня натолкнулся на забавную штуку:


org.hibernate.MappingException: Unknown entity: com.discountweb.pojo.Product$$EnhancerByCGLIB$$d38ca5fe
	at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)
	at org.hibernate.impl.SessionFactoryImpl.evict(SessionFactoryImpl.java:837)

Код, который делает evict:


  Serializable identifier = session.getIdentifier(entity);
  session.getSessionFactory().evict(entity.getClass(), identifier);

Решение простое:


  Serializable identifier = session.getIdentifier(entity);
  String entityName = session.getEntityName(entity);
  session.getSessionFactory().evictEntity(entityName, identifier);

Добавить комментарий

Предыдущая статья: Настройка JAAS в Tomcat