Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

JPA SET IDENTITY_INSERT tidak berfungsi

Ini dan ini telah membantu saya dan saya berhasil seperti di bawah ini.

Juga dari tautan Saya mendapat jawaban bahwa JPA tidak akan mendukung operasi DDL.

Jika ada yang bisa menambahkan jawaban ini, itu juga bagus.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Argumen Opsional dalam Klausa WHERE

  2. Cetak Isi DataTable

  3. SQL Query untuk mendapatkan hasil agregat dalam pemisah koma bersama dengan grup demi kolom di SQL Server

  4. Cara Memeriksa Apakah Database SQL Rusak – Solusi untuk Memperbaiki File MDF

  5. SQL - Prosedur Tersimpan dengan Pernyataan Pilih menggunakan IN (@Variable_CommaDelimitedListOfIDS)