org.hibernate.MappingException: тип не поддерживается ENVERs - PullRequest
4 голосов
/ 24 февраля 2011

Я только начал получать эту ошибку, когда вводил составной первичный ключ.Есть идеал, почему?Мне не удалось выяснить это.

Caused by: org.hibernate.MappingException: Type not supported: org.hibernate.type.SerializableType
    at org.hibernate.envers.configuration.metadata.IdMetadataGenerator.addIdProperties(IdMetadataGenerator.java:71)
    at org.hibernate.envers.configuration.metadata.IdMetadataGenerator.addId(IdMetadataGenerator.java:107)
    at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.generateFirstPass(AuditMetadataGenerator.java:380)
    at org.hibernate.envers.configuration.EntitiesConfigurator.configure(EntitiesConfigurator.java:102)
    at org.hibernate.envers.configuration.AuditConfiguration.<init>(AuditConfiguration.java:86)
    at org.hibernate.envers.configuration.AuditConfiguration.getFor(AuditConfiguration.java:99)
    at org.hibernate.envers.event.AuditEventListener.initialize(AuditEventListener.java:315)
    at org.hibernate.event.EventListeners$1.processListener(EventListeners.java:198)
    at org.hibernate.event.EventListeners.processListeners(EventListeners.java:181)
    at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:194)

Обновление редактирования - 1

Использование Hibernate 3.3.1 (поставляется с JBoss 5.1) вместе со SpringMVC 2.5.6 и jboss-envers 1.2.2GA.

POJO:

@Entity
@Table(name="program_store_rel")
@Audited
public class ProgramStoreRel extends MappedModel implements Serializable
{

  @EmbededId
  private ProgramStoreRelPK psRelPK;

  .
  .
  .
}

@Embeddable
public class ProgramStoreRelPK implements Serializable
{
  /**
 * Identifies the store that this item belongs to
 */
  @OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
  @JoinColumn(name="store_id",nullable=false,updatable=true,insertable=true)
  private Store store;

  /**
   * Identifies the program that this item belongs to
   */
  @OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
  @JoinColumn(name="program_id",nullable=false,updatable=true,insertable=true)
  private Program program;
 .
 .
}  

1 Ответ

1 голос
/ 25 февраля 2014

Видимо, это ошибка в этой версии JBoss Envers (см. ENVERS-76). Аналогичная проблема была обнаружена в Hibernate Envers (HHH-4751) и исправлена ​​в версии 4.1.7 .

К сожалению, предложенный обходной путь - избегать составных идентификаторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...