我已经在Postgres中创建了一个表,并在Java代码中进行了关联:

@Getter
@Setter
@Entity
@Table(name = "resources")
public class Resource {
    @Id
    @Column(name = "raport_id")
    private BigDecimal raportId;
    @Column(name = "reference_id")
    private String referenceId;
}


我也创建了一个仓库

public class ResourcesRepository {
    @PersistenceContext
    private EntityManager entityManager;

    public void persist(BigDecimal raportId, String referenceId, String type) {
        Resource resource = new Resource();
        resource.setRaportSysId(raportId);
        resource.setReferenceId(referenceId);
        entityManager.persist(raport);
    }

    public void updateRaportId(BigDecimal raportId) {
        entityManager.createQuery("UPDATE Resource r set r.raportId = :raportId ")
                .setParameter("raportId", raportId)
                .executeUpdate();
    }
}


我在不同的位置传递参数raportId来调用查询,如下所示:

ResourcesRepository.updateRaportId(raport.getId());


我没有任何错误,但未填充表格。想知道我在做什么错吗?我应该使用插入INTO而不是更新吗?

最佳答案

确保您在更新/持久后提交交易

关于java - 数据库未填充数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57018225/

10-15 05:30