我尝试使用findById方法按 id 获取行,但它没有成功,
无法在 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);
}
Run Code Online (Sandbox Code Playgroud)
存储库
@Repository
public 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);
}
Run Code Online (Sandbox Code Playgroud)
实体
@Entity
@Table(name = "AUCTION_SUPPLIER")
@Data
public class OrderOfferEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) …Run Code Online (Sandbox Code Playgroud)