我更愿意警告你,我的英语并不完美,但我会努力做到最好。
我实际上是在实习期间,我的任务是创建一个网络服务。在此之前,我应该与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
扩展了它,但没有方法计数。
修改
所以我认为我已经解决了这个问题:
我没有将界面扩展到CrudRepository
,而是将其扩展为Repository
。问题是我不知道我是否可以在CrudRepository中使用相同的方法,可以吗?
答案 0 :(得分:0)
您需要返回类型&#34; Long&#34;。
@Override
Long count();