@Transactional στην Υπηρεσία

ψήφοι
0

Έχω δημιουργήσει μια εφαρμογή ψήφου και έχω μέθοδο που αλλάζει τον αριθμό των ψήφων. Εφαρμόζει μια διασύνδεση με @Transactional σχολιασμό.

@Transactional(readOnly = true)
public interface VotingService {

    Vote getByRestaurantId(int restaurantId);

    Vote get(int id);

    List<Vote> getWithRestaurantsByDate(LocalDateTime date);

    List<Vote> getWithRestaurantsToday(HttpServletResponse response, int id);

    @Transactional
    Vote voteFor(int restaurantId, int userId);
}

Χρησιμοποιώ SpringBoot. Θα λειτουργήσει σωστά, ενώ ταυτόχρονα ψήφου πολλούς χρήστες. Και πώς μπορείτε να δοκιμάσετε μια τέτοια ενέργεια;

Η διαδοχική ψηφοφορία λειτουργεί σωστά.

Κωδικός για αλλαγές ο αριθμός των φωνών όπως αυτό:

    @Service
    public class VotingServiceImpl implements VotingService {
    ...

    @Override
    public Vote voteFor(int restaurantId, int userId) {
    ...
        Vote vote = getByRestaurantId(restaurantId);
        vote.setNumberOfVotes(vote.getNumberOfVotes() + 1)
    ...
        return vote;
    ...
    }
    ...

    }




@Entity
@Table(name = votes, uniqueConstraints = {@UniqueConstraint(columnNames = {restaurant_id, date, votes}, name = votes_unique_restaurant_date_votes_idx)})
public class Vote extends AbstractEntity {
    @Column(name = votes)
    private int numberOfVotes;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = restaurant_id, nullable = false)
    @NotNull
    private Restaurant restaurant;

    public int getNumberOfVotes() {
        return numberOfVotes;
    }

    public void setNumberOfVotes(int numberOfVotes) {
        this.numberOfVotes = numberOfVotes;
    }

    public Vote() {
    }

    public Restaurant getRestaurant() {
        return restaurant;
    }

    public void setRestaurant(Restaurant restaurant) {
        this.restaurant = restaurant;
    }

    @Override
    public String toString() {
        return Vote{ +
                super.toString() +
                numberOfVotes= + numberOfVotes +
                , restaurant= + restaurant +
                '}';
    }
}

Ευχαριστώ!

Δημοσιεύθηκε 20/10/2018 στις 12:55
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

  • VotingService είναι μια διεπαφή.
  • Η τάξη εφαρμογή VotingServiceImplείναι μονήρεις τάξη από προεπιλογή την άνοιξη. Αυτό είναι κοινή μεταξύ των θεμάτων.
  • Δεν θα πρέπει να έχουν βαθμό μεταβλητή για εκμετάλλευση πληροφοριών ψήφου.

Μπορείτε να επαληθεύσετε την ορθότητα της υπηρεσίας εκτελώντας παράλληλα αίτηση χρησιμοποιώντας ταχυδρόμο ή JMeter

Απαντήθηκε 20/10/2018 στις 13:39
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more