Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

JPA SET IDENTITY_INSERT không hoạt động

Điều này cái này đã giúp tôi và tôi đã làm việc này như bên dưới.

Cũng từ điều này liên kết Tôi nhận được câu trả lời rằng JPA sẽ không hỗ trợ hoạt động DDL.

Nếu ai đó có thể thêm vào câu trả lời này, điều đó cũng sẽ rất tuyệt.

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. Truy vấn PIVOT động của SQL Server?

  2. KHÔNG CÓ VÀ KHÔNG TỒN TẠI

  3. Cách kết nối với cơ sở dữ liệu máy chủ SQL từ ứng dụng Windows 10 UWP

  4. chèn tệp XML trong SQL qua SSIS

  5. Sử dụng dịch vụ tích hợp máy chủ SQL (SSIS) để điền vào bản ghi QuickBooks