Java 数据库不填充数据
我在Postgres中创建了一个表,并在java代码中创建了一个关系:Java 数据库不填充数据,java,postgresql,jpa,Java,Postgresql,Jpa,我在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;
@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());
我没有任何错误,但该表未填充。不知道我做错了什么?我应该使用Insert INTO而不是update吗 确保在更新/持久化后提交事务是否确实要无条件更新所有资源以将其
raportId
设置为该值?!是的,现在。稍后,当我填充新字段时,我将区分它们。作为fir,现在我只想为每个记录设置raportId当我调用persist方法时,我得到一个错误:意外异常类:TransactionRolledbackLocalException:消息:错误提交事务: