Hibernate erro mapeamento JodaTime

1 resposta
diogogama

Alguém pode me ajudar?

Exception in thread "main" java.lang.AbstractMethodError: org.joda.time.contrib.hibernate.PersistentDateTime.nullSafeSet(Ljava/sql/PreparedStatement;Ljava/lang/Object;ILorg/hibernate/engine/spi/SessionImplementor;)V
    at org.hibernate.type.CustomType.nullSafeSet(CustomType.java:158)
    at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2786)
    at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2761)
    at org.hibernate.persister.entity.AbstractEntityPersister$4.bindValues(AbstractEntityPersister.java:2968)
    at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2975)
    at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3487)
    at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:81)
    at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:377)
    at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:214)
    at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:194)
    at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:178)
    at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:321)
    at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:286)
    at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192)
    at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:125)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:206)
    at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:191)
    at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
    at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:764)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:756)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:752)
    at br.com.VirtualCreditCard.dao.ClienteDao.salvar(ClienteDao.java:26)
    at TesteCliente.main(TesteCliente.java:54)
Java Result: 1
Classe Cliente
@Entity
public class Cliente {

    @Id @GeneratedValue
    private Long id;
    private boolean juridica;
    private String nomeOuRazaoSocial;
    private String nomeFantasia;
    private String cpfOuCnpj;
    private String rgOuInscricaoEstadual;

    @Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
    private DateTime dataNacimentoOuCriacaoEmpresa;

    @Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
    private DateTime dataAdesao;

    private Double limite;
    private Double saldo;

    @OneToOne(mappedBy = "cliente")
    @Cascade(CascadeType.ALL)
    private Endereco endereco;

    @OneToOne(mappedBy = "cliente")
    @Cascade(CascadeType.ALL)
    private DadosBancarios dadosBancarios;

//getters e setters
}
Classe Dados Bancarios
public class DadosBancarios {

    @Id @GeneratedValue
    private Long id;
    private String nomeBanco;
    private String codigoBanco;
    private String nomeAgencia;
    private String codigoAgencia;
    private String contaCorrente;

    @Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
    private DateTime dataAberturaConta;

    @OneToOne
    @JoinColumn (name="idCliente")
    private Cliente cliente;

//getters e setters
}
Classe Endereço
public class Endereco {

    @Id @GeneratedValue
    private Long id;
    private String rua;
    private String numero;
    private String complemento;
    private String bairro;
    private String cidade;
    private String estado;
    private String cep;
    private String pontoReferencia;

    @OneToOne
    @JoinColumn (name="idCliente")
    private Cliente cliente;

//getters e setters
}
Mapeamento
<hibernate-configuration>
  <session-factory>
    <property name="hibernate.connection.username">
      root
    </property>
    <property name="hibernate.connection.password">
    </property>
    <property name="hibernate.connection.url">
      jdbc:mysql://localhost/xxx
    </property>
    <property name="hibernate.connection.driver_class">
      com.mysql.jdbc.Driver
    </property>
    <property name="hibernate.dialect">
      org.hibernate.dialect.MySQL5InnoDBDialect
    </property>

    <property name="hibernate.hbm2ddl.auto">update</property>

    <property name="show_sql">true</property>
    <property name="format_sql">true</property>

    <!-- entidades -->
    <mapping class="br.com.xxx.model.Endereco" />
    <mapping class="br.com.xxx.model.Cliente" />
    <mapping class="br.com.xxx.model.DadosBancarios" />

  </session-factory>
</hibernate-configuration>

1 Resposta

diogogama

Ninguém?

Criado 11 de setembro de 2013
Ultima resposta 12 de set. de 2013
Respostas 1
Participantes 1