Problemas SQL SERVER 2012 / HIBERNATE usando WILDFLY

0 respostas
L

WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EJB default - 4) SQL Error: 8102, SQLState: S0001
ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (EJB default - 4) Não é possível atualizar a coluna de identidade ‘id’.

Eu insiro vários dados no projeto inicialemente, porém mais adiante eu tenho uma classe que atualiza a coluna ID do meu BANCO no qual é AUTO-INCREMENT, ou seja.

@Id

@SequenceGenerator(name = “seqEntities”, sequenceName = “seqEntities”)

@GeneratedValue(strategy = GenerationType.IDENTITY, generator = “seqEntities”)

public Long getId() {

return <a href="http://this.id">this.id</a>;

}

OBS: Banco de dados ORACLE e POSTGRESQL o projeto funciona 100%, muito bem sem erros, problema está em SQL SERVER, no qual preciso muito.

aqui está a atualização, existe isso em 4 classes…

manager.flush();		

String queryStr = UPDATE " + LOSStorageLocationType.class.getSimpleName() + " SET id=:idNew WHERE id=:idOld;

Query query = manager.createQuery(queryStr);		

query.setParameter(idNew, id);

query.setParameter(idOld, slType.getId());

query.executeUpdate();

manager.flush();

slType = null;

Oque poderia ser feito pra atualizar essa coluna? algo assim?

manager.getTransaction().begin();
    manager.createNativeQuery("SET IDENTITY_INSERT JBOSS.los_storagelocationtype ON").executeUpdate();
    manager.getTransaction().commit();

    manager.persist(type);

    manager.getTransaction().begin();
    manager.createNativeQuery("SET IDENTITY_INSERT JBOSS.los_storagelocationtype OFF").executeUpdate();
    manager.getTransaction().commit();

Aguardo…

Criado 6 de janeiro de 2016
Respostas 0
Participantes 1