我正在尝试从Oracle获取数据。
我在类“主页”
中具有@OneToMany
关系
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "obj_id", referencedColumnName = "obj_id", insertable = false, updatable = false)
private List<Room> roomCollection;
我有这个存储库:
@Repository
public interface FkvaRepository extends JpaRepository<ROOM, Long> {
@Query(value = "SELECT * FROM ROOM WHERE OBJ_ID=?1", nativeQuery = true)
List<ROOM> findAllByObjectId(Long id);
}
我有一个控制器,它通过家庭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;
}
但是当我尝试
http://localhost:9000/room/466
结果中我的房间对象数正确,但是它们都是第一个的重复。
我该如何解决?
答案 0 :(得分:1)
SELECT * FROM ROOM WHERE OBJ_ID =?1是这里的问题。
使用以下内容
List<ROOM> findAllByRoomId(Long id);
Id是房间的实体主要ID。删除本地查询代码。