Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JPA版本列为';t合并后更新()_Jpa_Version - Fatal编程技术网

JPA版本列为';t合并后更新()

JPA版本列为';t合并后更新(),jpa,version,Jpa,Version,我正在通过EntityManager#merge()更新一个实体,但返回的实体中没有正确反映JPA的新JPA版本号 @Stateless @TransactionAttribute(TransactionAttributeType.REQUIRED) public class LeadService { @PersistenceContext(name = "joose") private EntityManager em; public Lead createOrUp

我正在通过
EntityManager#merge()
更新一个实体,但返回的实体中没有正确反映JPA的新JPA版本号

@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class LeadService {
    @PersistenceContext(name = "joose")
    private EntityManager em;

    public Lead createOrUpdateLead(Lead lead) {
        if (lead.getId() != null) {
            em.merge(lead);
        } else {
            em.persist(lead);
        }
        return lead;
    }

我该如何处理这件事?谢谢

createLeader或updateLead
方法中,如果在操作前后记录
lead
的版本,则
lead
是否会更改?如果没有,您可以使用
em.refresh(lead)
从DB.Do'h获取最新信息。事实上,我刚刚发现了窃听器
em.merge(lead)
应该是
lead=em.merge(lead)啊,典型的错误。当你发布自己的明显答案时,你介意删除你的问题吗?作为替代方案,您可以发布您的解决方案并接受它作为答案,然后。。。正如@DavidS所指出的,这是一个“经典”错误,而且很可能已经在StOf上被回答了100多次。不,我认为这对谷歌用户来说很有价值