![]() |
1
5
从零开始实现这样的东西不是火箭科学,但也许你想看看这个GitHub项目: https://github.com/alturkovic/distributed-lock
我既没有参与这个项目,也没有使用它,但它看起来很有前途。您只需要使用创建一个Spring配置
并创建所需的数据库表:
一旦这一切就绪,您就可以通过一个简单的注释(取自项目示例)在分布式环境中同步方法调用:
|
![]() |
2
1
数据库应该在处理这个问题。你可以:
您可以使用命令行SQL客户端在本地测试您的更改:打开两个并发事务,并尝试以不同的方式交错这些事务
|
![]() |
3
0
我认为合理的做法是锁定位置。如果我对域名的理解正确,您是在为开始时间和持续时间给定的时间段预订特定位置(如房间)?在这种情况下,您可能已经有了一个位置实体。如果没有,你也许可以创建一个并添加一个匹配的表。这样代码就简单了:
表锁确实会损害可伸缩性,但锁定特定位置应该可以。 |
![]() |
TheCrunchyPotato · JPA查询找不到正确的构造函数 3 年前 |
![]() |
Maiko Kingma · hibernate何时加载映射关系 7 年前 |
![]() |
OOvic · 使用JoinTable实现多个关系中的JPQL查询 7 年前 |
![]() |
Jovan0042 · 在H2中持久化多个实体引发异常 7 年前 |
![]() |
Nemeth Attila · 如何编写多对多关联表的查询 7 年前 |