1 首先该SLSB事物设置为require_new.@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED_NEW)
2 再次该方法对外接口设置为1条的更新操作。
public void save(Entity entities) {
getEntityManager().persist(entity);
}或者
SLSB事物@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED)
saveOne方法会在新创建的事务中执行@TransactionAttribute(TransactionAttributeType.REQUIRED_NEW)
private void saveOne(Entity entities) {
getEntityManager().persist(entity);
}
save使用默认的require事务public void save(ArrayList<Entity> entities) {
for (Entity entity : entities) {
saveOne(entity);
}
}
保证一条的更新操作是在新的一个事务。
@TransactionAttribute(TransactionAttributeType.REQUIRED_NEW)
2 再次该方法对外接口设置为1条的更新操作。
public void save(Entity entities) {
getEntityManager().persist(entity);
}或者
SLSB事物@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED)
saveOne方法会在新创建的事务中执行@TransactionAttribute(TransactionAttributeType.REQUIRED_NEW)
private void saveOne(Entity entities) {
getEntityManager().persist(entity);
}
save使用默认的require事务public void save(ArrayList<Entity> entities) {
for (Entity entity : entities) {
saveOne(entity);
}
}
保证一条的更新操作是在新的一个事务。
public class EntityServiceBean implements EntityService {
@PersistenceContext(unitName = "mes.platform")
private EntityManager entityManager; public EntityManager getEntityManager() {
return this.entityManager;
} void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
} @Override
public void saveList(ArrayList<Entity> entities) {
for (Entity entity : entities) {
save(entity);
}
} @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
private void save(Entity entity) {
entityManager.persist(entity);
}