java - 如何在 Hibernate 中为特定的数据库行更改添加侦听器?
问题描述
我正在开发一个食品订购应用程序,如图所示 user1 将进行付款和订购,然后调用 API/waitForStatus/orderid
来获得它的确认,只有在 Payment Provider 向我们确认后才会返回。
支付提供商将使用 API 将表格更新为拒绝或确认/confirmOrder/orderid
我的问题是如何将侦听器添加到特定的行和列。要知道提供者何时更新状态
这是我的实体类
@Data
@Entity
@Table(name = "Order")
public class Order{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@Column(name = "STATUS")
private String status;
}
这是我的 JPA 存储库类
@Repository
public interface OrderRepository extends JpaRepository<Order, Long> {
Order getOrderById(Long id);
}
这是我的服务类
@Service
public class OrderDomainService implements IOrderDomainService {
private final OrderRepository orderRepository;
public OrderDomainService(OrderRepository orderRepository) {
this.orderRepository = orderRepository;
}
@Override
public UserOrder getOrderById(Long orderId) {
return orderRepository.getOrderById(Long id)
}
@Override
public UserOrder waitForStatusCongfirmation(Long orderId) {
//<-------------How to handle here
}
}
让我知道如何监听特定行的变化,谢谢。
解决方案
有一个很棒的工具叫做 Debezium,你可以用它来监听任何数据库的变化:https ://debezium.io/
推荐阅读
- powershell - ADSI Searcher - PowerShell 在 FindAll() 之后获取 IP 地址
- css - 反应引导表单文本区域行高
- php - 如何使用Interface克服多个if,else
- java - 如何给接口提供@After @Before注释
- javascript - 如何使用 django 只显示一些选项并选择?
- rx-java2 - 在 RxAndroidBle 流中抛出 UndeliverableException
- javascript - 如何在chart.js中显示两个数组之间的减法结果?
- sql - 连接所有组合
- c++ - 在迭代它时删除 std::shared_ptr 的 std::vector 中的最后一个元素会导致分段错误
- javascript - 比较数组的日期项并找到最大的