spring引导返回有关回滚和事务的错误,但我没有使用这两个

huwehgph  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(148)

我有一个简单的应用程序,应该添加一个实体到数据库。它是用springboot编写的,我遇到了一个我不理解的错误,因为可能导致这些问题的特性不是我正在使用的。
我的应用程序向数据库添加“主动性”。一个计划基本上是一个事件,其中包含一个用户实体,即运行它的人。
我的倡议实体在这里:

public class Initiative {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    long id;

    @NotNull
    @Size(max = 250)
    String title;

    @NotNull
    String description;

    @NotNull
    @Size(max = 50)
    String category;

    @NotNull
    @Size(max = 50)
    String club;

    @NotNull
    boolean active = true;

    @NotNull
    @Size(max = 25)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy", timezone = "Europe/London")
    LocalDate createdDate;

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(
            name = "initiative_leads",
            joinColumns = {@JoinColumn(name = "inititative_id", referencedColumnName = "id")},
            inverseJoinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")})
    Set<User> initiativeLeads = new HashSet<>();

我的初始位置是:

public interface InitiativeRepository extends CrudRepository<Initiative, Long> {}

最后是控制器。现在,我只做了一个get方法,它创建了一个计划,使用crud存储库中的save方法保存它,并将它返回给用户。

public class InitiativesController {
    private InitiativeRepository initiativeRepository;

public InitiativesController(InitiativeRepository initiativeRepository) {
    this.initiativeRepository = initiativeRepository;
}

@GetMapping
public Initiative createInitiative() {
    Initiative initiative = new Initiative();
    return initiativeRepository.save(initiative);
}

但是,当我运行此方法时,它会返回以下错误:

"message": "Could not commit JPA transaction; nested exception is javax.persistence.RollbackException: Error while committing the transaction"

我还尝试了如下post方法:

public void createRepo(@Valid @RequestBody Initiative initiative)
{
    initiativeRepository.save(initiative);

}

然后通过 Postman 发送以下数据:

{
 "title":"hello",
 "description":"hdufhs",
 "category":"hi",
 "club":"hi",
 "active":true,
 "createdDate":"2012-04-23T18:25:43.511Z",
 "initiativeLeads":[    {
        "id": 1,
        "firstName": "John",
        "lastName": "Stockton",
        "email": "abc@def.com",
        "club": null,
        "squad": null
    }]   
}

这也会返回相同的错误。
有一个更大的堆栈跟踪,但更长,我可以张贴,如果需要在这里。
我不理解这个错误,因为通过stackoverflow读取我看到它与事务有关。但是我没有使用它们,所以不理解错误。任何帮助都将不胜感激。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题