Hiện tại tôi đang làm việc trên một POC cho phần còn lại dữ liệu mùa xuân. Đang cố gắng để có được JSONout khả thi của một kho lưu trữ.Lỗi dữ liệu mùa xuân (SDR)? Persistent Entity Không được rỗng
Tôi có một lớp Entity (NewTask)
@Entity
@Table(name="newtable")
public class NewTask {
@Id
@Column(name="newid")
private int id;
@Column(name="newage")
private int age;
@Column(name="newaddress")
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
và một kho lưu trữ tương ứng ..
@RepositoryRestResource
@PreAuthorize("hasRole('ROLE_ADMIN')")
public interface NewTaskRepository extends CrudRepository<NewTask, Serializable>{
@Query("SELECT t.address FROM NewTask t where t.id = :id")
String findByMyId(@Param("id") int id);
}
bất cứ khi nào tôi nhấn
http://localhost:8080/POCDB/newTasks/search/findByMyId?id=1
tôi nhận được lỗi sau: { "nguyên nhân": null, "message": "PersistentEntity không được rỗng!"}
Bây giờ đây là cách kho của tôi trông: Xin vui lòng đọc nhận xét về từng phương pháp
//Gives- PersistentEntity must not be null!!!
@Query("SELECT t.address FROM NewTask t where t.id = :id")
String findByMyId(@Param("id") int id);
//WORKS FINE
@Query("SELECT t.id FROM NewTask t where t.id = :id")
int findId(@Param("id") int id);
//WORKS FINE
@Query("SELECT t.id FROM NewTask t where t.id = :id")
Integer findIdTwo(@Param("id") int id);
//Gives- PersistentEntity must not be null!!!
@Query("SELECT t.id FROM NewTask t")
List<Integer> findIds();
Tôi không chắc chắn những vấn đề với sự trở lại types.I gọi vào liên kết dưới đây để biết một số giải pháp là gì:
How does one create a custom query in jparepository but return an object other than the entity?
và bổ sung thêm 2 phương pháp để Repository của tôi, mà không có tác dụng đối với tôi
// returns in some weird format
@Query("SELECT t.address FROM NewTask t where t.id = :id")
PString findByMyId(@Param("id") int id);
//Gives- PersistentEntity must not be null!!!
@Query("SELECT t.address FROM NewTask t")
List<PString> findAddress();
Tôi có một linh cảm đây là một lỗi trong SDR, hoặc tôi thiếu một cái gì đó?
Câu hỏi trùng lặp. http://stackoverflow.com/a/30403914/621686 – bvulaj
Hi Brandon, Câu trả lời bạn đã đăng không hoạt động trong trường hợp của tôi. Ngoài ra, đây không phải là một vấn đề thừa kế, không có lớp cơ sở, nhưng thông báo lỗi là như nhau. Bạn có thể vui lòng giúp giải pháp nếu bạn có bất kỳ ý tưởng nào không? Hay bạn có thể giới thiệu ai đó có thể? –