我已经在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插入而不是更新吗?
答案 0 :(得分:1)
确保您在更新/持久后提交事务