The difference is slight then, though I find this more readable:

long id;
for (int i=0; i < 10; i++) {
    try {
        id = random.nextLong();
        participantDAO.create(id);
        break;
    } catch(DataStoreException dse) {
        if (i == 10) {
            throw dse;
        }
    }
}