これ
および
また、このからリンク JPAはDDL操作をサポートしないという回答を得ました。
誰かがこの答えに追加できれば、それも素晴らしいことです。
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{
}