sql >> Database >  >> RDS >> Sqlserver

JPA SET IDENTITY_INSERT werkt niet

Dit en dit hebben me geholpen en ik heb dit werkend gekregen zoals hieronder.

Ook van deze link Ik kreeg het antwoord dat JPA de DDL-bewerking niet ondersteunt.

Als iemand iets aan dit antwoord kan toevoegen, zou dat ook geweldig zijn.

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. Ik krijg een pg-fout wanneer ik een controller probeer te vernietigen

  2. PHP MySQL-datumvergelijking

  3. SQLite SUM

  4. mySQL-verbindingsreeks door SSH-tunnel zonder wachtwoord