Я пытаюсь обновить запись в приложении весенней загрузки, но вместо обновления добавляется новая запись, и я также хочу выполнить поиск
import java.sql.Timestamp;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Transient;
@Entity
public class Events {
private Long id;
private String game;
private String catergory;
private String venue;
private float entrance_fee;
private String date;
private String time;
private Timestamp created_time;
private String image;
public Events() {
super();
// TODO Auto-generated constructor stub
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getGame() {
return game;
}
public void setGame(String game) {
this.game = game;
}
public String getCatergory() {
return catergory;
}
public void setCatergory(String catergory) {
this.catergory = catergory;
}
public String getVenue() {
return venue;
}
public void setVenue(String venue) {
this.venue = venue;
}
public float getEntrance_fee() {
return entrance_fee;
}
public void setEntrance_fee(float entrance_fee) {
this.entrance_fee = entrance_fee;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public Timestamp getCreated_time() {
return created_time;
}
public void setCreated_time(Timestamp created_time) {
this.created_time = created_time;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
@Transient
public String getImagePath() {
if(image == null || id == null) return null;
return "/event-images/" + id + "/" + image;
}
}
это мой репозиторий...
import java.util.List;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface EventsRepository extends PagingAndSortingRepository {
List findByCatergoryLike(String catergory);
}
это моя услуга..
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
@Service
public class EventsService {
@Autowired
private EventsRepository eventsRepository;
public Page listAll(int pageNumber){
Sort sort = Sort.by("date").ascending();
Pageable pageable = PageRequest.of(pageNumber -1, 1, sort);
return eventsRepository.findAll(pageable);
}
public Events save(Events events) {
return eventsRepository.save(events);
}
public void update(Events events) {
eventsRepository.save(events);
}
public Events get(Long id) {
return eventsRepository.findById(id).get();
}
public void delete(Long id) {
eventsRepository.deleteById(id);
}
public List findBycatergory(String catergory) {
return eventsRepository.findByCatergoryLike("%"+catergory+"%");
}
}
это метод обновления в контроллере.
@RequestMapping(value = { "/update_event" }, method = RequestMethod.POST)
public String upadate(@ModelAttribute("events") @PathVariable(name="id") Long id, Events events,
@RequestParam("fileImage") MultipartFile multipartFile) throws IOException {
String fileName = StringUtils.cleanPath(multipartFile.getOriginalFilename());
events.setImage(fileName);
eventsService.update(events);
String uploadDir = "./event-images/" + events.getId();
Path uploadPath = Paths.get(uploadDir);
if(!Files.exists(uploadPath)) {
Files.createDirectories(uploadPath);
}
try (InputStream inputStream = multipartFile.getInputStream()){
Path filePath = uploadPath.resolve(fileName);
Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
}catch (IOException e) {
throw new IOException("Could not save uploaded file: " + fileName);
}
if(fileName.length()>1048576) {
System.out.println("file too large");
}
return "redirect:/events";
}
и, наконец, форма обновления.
Sports
Venue
Entrance Fee
Date & Time
SAVE CHANGES..DISCARD..
Подробнее здесь: https://stackoverflow.com/questions/627 ... pplication