sql >> Database teknologi >  >> RDS >> Sqlserver

JPA SET IDENTITY_INSERT virker ikke

Dette og dette har hjulpet mig, og jeg har fået dette til at fungere som nedenfor.

Også fra denne link Jeg fik svaret, at JPA ikke vil understøtte DDL-drift.

Hvis nogen kan tilføje dette svar, vil det også være fantastisk.

EntityTransaction tx = entityManager.getTransaction();

try {
// entitiesMap hold the entity class/table name pairs which have autoincrement primary keys in the sql server database
if(entitiesMap.containsKey(entityName)){
    String tableName = entitiesMap.get(entityName);
    Session session = (Session) entityManager.getDelegate();
    session.connection().createStatement().execute("SET IDENTITY_INSERT [dbo]." + tableName + " ON");
}

tx.begin();
entityObject = jpaTemplate.merge(entity);
tx.commit();

if(entitiesMap.containsKey(entityName)){
    String tableName = entitiesMap.get(entityName);
    Session session = (Session) entityManager.getDelegate();
    session.connection().createStatement().execute("SET IDENTITY_INSERT [dbo]." + tableName + " OFF");
}

return entityObject;
} catch (Exception e) {
}finally{
}


  1. Fleksible og håndterbare styklister (BOM) designs

  2. MariaDB &Eksterne Data

  3. iPhone humørikoner indsættes i MySQL, men bliver tom værdi

  4. Importer en CSV-fil til SQL Server ved hjælp af SqlBulkCopy