gpt4 book ai didi

java - 不要使用 spring jpa 从数据库获取信息

转载 作者:行者123 更新时间:2023-12-02 09:18:27 25 4
gpt4 key购买 nike

我正在尝试从 Oracle 获取数据。

我在类“Home”中具有@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);
}

我有一个 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;
}

但是当我尝试

http://localhost:9000/room/466

结果中房间对象的数量是正确的,但所有这些都是第一个的重复。

我该如何解决这个问题?

最佳答案

SELECT * FROM ROOM WHERE OBJ_ID=?1 is the issue here.

使用以下内容

List<ROOM> findAllByRoomId(Long id);

其中 Id 是房间的实体主要 ID。删除 native 查询代码。

关于java - 不要使用 spring jpa 从数据库获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58852576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com