Java Spring 通过用户 ID 获取项目

问题描述 投票:0回答:1

我在JavaSpring中有一个API,我想知道如何通过用户ID获取所有“财务”,我真的陷入了困境,我想将一个正文发送到发送UserId的API并获取与用户匹配的所有财务

@Entity
@Table(name = "finance")
public class Finance {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    @ManyToOne
    @JoinColumn(name = "user_id", nullable = false)
    private User user;

    @Column(nullable = false)
    private String title;

    private String description;

    @Column(nullable = false)
    private String date;

    @Column(nullable = false)
    private Integer value;

我的代码现在是这样的,我不知道我在做什么,我尝试创建存储库只是为了发现我不知道这样做

服务:

    public ResponseEntity<Object> GetFinanceByUserId(Integer userId) {
        List<Finance> userFinances = financeRepository.findByUserId(userId);
        return new ResponseEntity<>(userFinances, HttpStatus.OK);
    }

存储库:

public interface FinanceRepository extends JpaRepository<Finance, Integer> {
    List<Finance> findByUserId(Integer userId);
}
java spring postgresql
1个回答
0
投票

您可以像下面这样更改实体

实体

@Column(name = "user_id", nullable = false)
private Long userId;

@ManyToOne(fetch = FetchType.LAZY, optional=false)
@JoinColumn(name = "user_id", insertable = false, updatable = false, nullable = false)
private User user;

存储库

public interface FinanceRepository extends JpaRepository<Finance, Integer> {
List<Finance> findByUserId(Integer userId);
}
© www.soinside.com 2019 - 2024. All rights reserved.