[英]Don't get info from db with spring jpa
I'm trying to get data from Oracle.我正在尝试从 Oracle 获取数据。
I have @OneToMany
relation in class "Home"我在 class “Home”中有
@OneToMany
关系
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "obj_id", referencedColumnName = "obj_id", insertable = false, updatable = false)
private List<Room> roomCollection;
I have this repository:我有这个存储库:
@Repository
public interface FkvaRepository extends JpaRepository<ROOM, Long> {
@Query(value = "SELECT * FROM ROOM WHERE OBJ_ID=?1", nativeQuery = true)
List<ROOM> findAllByObjectId(Long id);
}
I have a controller which get all rooms by home id:我有一个 controller ,它通过家庭 ID 获取所有房间:
@RequestMapping(value = "/room/{id}",
method = RequestMethod.GET,
produces = { MediaType.APPLICATION_JSON_VALUE })
public List<Room> getRoom(@PathVariable(name = "id") Long id) {
List<Room> roomCollection = roomRepository.findAllByObjectId(id);
return roomCollection;
}
But when I tried但是当我尝试
http://localhost:9000/room/466
I have the correct count of room objects in the result, but all of them are duplicate of the first.我在结果中有正确的房间对象计数,但它们都是第一个的重复。
How could I fix it?我该如何解决?
SELECT * FROM ROOM WHERE OBJ_ID=?1 is the issue here.
SELECT * FROM ROOM WHERE OBJ_ID=?1 是这里的问题。
Use following使用以下
List<ROOM> findAllByRoomId(Long id);
Where Id is room's entity primary id.其中 Id 是房间的实体主 ID。 remove native query code.
删除本机查询代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.