jpa 托管_强制刷新集合JPAEntityManager

我将SEAM与JPA(实现为Seam托管持久性上下文)一起使用,在后备bean中,我将一组实体(ArrayList)加载到后备bean中。

如果不同的用户修改了另一个会话中的实体之一,而我希望将这些更改传播到会话中的集合中,则我有一种方法refreshList()并尝试了以下方法…

@Override

public List refreshList(){

itemList = itemStatusDAO.getCurrentStatus();

}

用以下查询

@SuppressWarnings("unchecked")

@Override

public List getCurrentStatus(){

String s = "SELECT DISTINCT iS FROM ItemStatus iS ";

s+="ORDER BY iS.dateCreated ASC";

Query q = this.getEntityManager().createQuery(s);

return q.getResultList();

}

重新执行查询,这只会返回我已经拥有的相同数据(我假设它正在使用一级缓存而不是访问数据库)

@Override

public List refreshList(){

itemStatusDAO.refresh(itemList)

}

调用entityManager.refresh(),这应该从数据库刷新,但是javax.ejb.EJBTransactionRoll

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值