Я предпочитаю предупредить вас, мой английский не идеален, но я постараюсь сделать все возможное.
Я на самом деле на стажировке, и моя задача - создать веб-сервис. До этого я должен был работать с Maven и создавать репозитории, модели и другие.
Пока у меня проблема с хранилищем простого Java-класса.
Вот мой класс:
package com.XXX;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.Id;
import java.sql.Timestamp;
@Entity
//Generate getters and setters
@Data
//Generate a constructor with to arguments
@NoArgsConstructor
public class Day_ {
@Id
private int day_id_Date;
private Timestamp day_Date;
public Day_(int day_id_Date, Timestamp day_Date) {
this.day_id_Date = day_id_Date;
this.day_Date = day_Date;
}
}
Довольно просто, как я сказал.
Теперь вот мой репозиторий:
package com.XXX;
import com.XXX.Day_;
import org.springframework.data.repository.CrudRepository;
public interface DayRepository extends CrudRepository<Day_, Long> {
}
Я на самом деле взял это из примера в интернете. Хорошо работает для него, но не для меня. Я получаю следующую ошибку:
Error:(6, 8) java: types org.springframework.data.repository.Repository<com.atos.test.account.tables.Day_,java.lang.Long> and org.springframework.data.repository.CrudRepository<com.atos.test.account.tables.Day_,java.lang.Long> are incompatible; both define count(), but with unrelated return types
Теперь я попытался переопределить метод count()
, выполнив:
package com.XXX;
import com.XXX.Day_;
import org.springframework.data.repository.CrudRepository;
public interface DayRepository extends CrudRepository<Day_, Long> {
@Override
long count();
}
Но я получаю следующую ошибку (которая почти такая же):
Error:(6, 8) java: types org.springframework.data.repository.CrudRepository<com.atos.test.account.tables.Day_,java.lang.Long> andorg.springframework.data.repository.Repository<com.atos.test.account.tables.Day_,java.lang.Long> are incompatible; both define count(), but with unrelated return types
Error:(9, 10) java: count() in com.atos.test.account.repository.DayRepository clashes with count() in org.springframework.data.repository.Repository return type long is not compatible with java.lang.Long
Я изучил класс CrudRepository
, но методы count()
те же, что и у меня. Я также изучил класс Repository
, потому что CrudRepository
расширяет его, но счетчик методов отсутствует.
EDIT
Так что я думаю, что решил проблему:
Вместо расширения моего интерфейса до CrudRepository
я расширил его до Repository
. Дело в том, что я не знаю, могу ли я использовать те же методы, что и в CrudRepository, могу ли я?