亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我厭倦了用 JpaRepository 做點什么但是找不到行 findById ,

我厭倦了用 JpaRepository 做點什么但是找不到行 findById ,

動漫人物 2023-06-21 16:39:35
我試圖通過 idfindById方法獲取行,但它沒有成功,無法在 DB 中找到行。當我findAll之前打電話時findById工作正常。我使用 PostgreSQL。public void updateOffer(OrderOfferDTO orderOfferDTO) {  //        List<OrderOfferEntity> all = orderOfferRepository.findAll();        OrderOfferEntity orderOfferEntity = orderOfferRepository.findById(orderOfferDTO.getId()).orElse(null);        assert(orderOfferEntity != null);        if (!isCanOfferUpdate(orderOfferEntity)) return;        orderOfferEntity.setNumberOffer(orderOfferEntity.getNumberOffer() + 1);        orderOfferEntity.setOfferDelivery(orderOfferDTO.getOfferDelivery());        orderOfferEntity.setOfferPickup(orderOfferDTO.getOfferPickup());        orderOfferRepository.save(orderOfferEntity);    }資料庫@Repositorypublic interface OrderOfferRepository extends JpaRepository<OrderOfferEntity, Long> {    OrderOfferEntity findByUserEntityAndOrderEntity(UserEntity userEntity, OrderEntity orderEntity);    List<OrderOfferEntity> findByUserEntityNotAndOrderEntity(UserEntity supplierEntity, OrderEntity orderEntity);    List<OrderOfferEntity> findByOrderEntity(OrderEntity orderEntity);    List<OrderOfferEntity> findByUserEntity(UserEntity userEntity);}實體@Entity@Table(name = "AUCTION_SUPPLIER")@Datapublic class OrderOfferEntity {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    @Column(name = "NUMBER_OFFER")    private Integer numberOffer;    @Column(name = "OFFER_PICKUP")    private Integer offerPickup;    @Column(name = "OFFER_DELIVERY")    private Integer offerDelivery;    @Column(name = "IS_ACCEPTED")    private Boolean isAccepted;    @ManyToOne(optional = false)    @JoinColumn(name = "DELIVERY_PROGRESS_ID")    private DeliveryProgressEntity deliveryProgressEntity;    @ManyToOne    @JoinColumn(name = "SUPPLIER_ID", nullable = false)    private UserEntity userEntity;    @ManyToOne    @JoinColumn(name = "CUSTOMER_ORDER_ID", nullable = false)    private OrderEntity orderEntity;    @ManyToOne    @JoinColumn(name = "FACTORY_ID", nullable = false)}
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

您所有的 ManyToOne 關系都是非可選的或非空的。

所以 Hibernate 生成 INNER JOINS。您必須確保您的數據遵循此規則。

如果您定義非可選或非空關系,您還應該對數據庫表中的外鍵設置 NOT NULL 約束。


查看完整回答
反對 回復 2023-06-21
  • 1 回答
  • 0 關注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號