如何为所有用户更新缓存

时间:2019-03-26 10:29:48

标签: java hibernate spring-boot hibernate-cache

@Entity
@Table
@Cacheable(cacheNames = "domain")
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, include="non-lazy")
public class Test implements Serializable {

    private Long id;
    private Long orderNumber;

    public String getId() {
        return id;
    }

    public void setId(Longid) {
        this.id = id;
    }

    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(LongorderNumber) {
        this.orderNumber= orderNumber;
    }

@Transient
    private synchronized Integer getNextOrderNumber() {

        if (orderNumber== null) {
            orderNumber= 1l;
        } else {
            orderNumber++;
        }
        return orderNumber;
    }


在同一时间从不同机器上调用方法getNextOrderNumber时,我得到了相同的序列号。但是我希望它获得不同订单的不同序列号。

请提出最佳解决方案。由于它不是数据库中唯一的。所以我也无法使用唯一约束。

0 个答案:

没有答案