当前位置: 首页 > 知识库问答 >
问题:

通过postman插入数据时SpringBoot-Hibernate映射中的NullPointerException

洪宇定
2023-03-14

以下是该实体的:

public class ProductOffer extends AuditModel implements Serializable {

    @Id
    @GeneratedValue(strategy =  GenerationType.IDENTITY)
    private Integer id = null;
    
    @Column(name = "offer_code", nullable = false)
    private String offerCode = null;

    @NotNull
    @Column(unique = true)
    private String version = null;

    @Column
    private String offerCodeVersion = null;

    @Column
    private String offerName = null;

    @Column
    private String description = null;

    @Column
    private String status = null;

    @JsonProperty
    private OperationEnum operation;

    @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinColumn(name = "lifecycleStatus_id", referencedColumnName = "lId")
    @JsonIgnore
    private LifeCycleStatus lifecycleStatus = null;
}

public class LifeCycleStatus extends AuditModel implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer lId = null;

    @Column
    private String name = null;
    
    @OneToMany(mappedBy = "lifecycleStatus", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    private List<ProductOffer> productOffer = new ArrayList<ProductOffer>();
}

这是道:

public void addProductOffer(ProductOffer productOffer) {

        Session session = entityManager.unwrap(Session.class);
        LifeCycleStatus lifeCycleStatus = lifeCycleStatusDAO.findById(productOffer.getLifecycleStatus().getLId()); /* am getting NPE here */
        if(lifeCycleStatus == null)
            lifeCycleStatus = new LifeCycleStatus();
        lifeCycleStatus.setName(productOffer.getLifecycleStatus().getName());
        productOffer.setLifecycleStatus(lifeCycleStatus);
        session.saveOrUpdate(productOffer);
    }

下面是Post映射的详细信息:

{

   "offerCode":"HG123",
   "version":"2",
   "offerCodeVersion":"2.2",
   "offerName":"Recharge",
   "description":"aadhakjdhaks",
   "status":"Inactive",
   "operation":"PUBLISH",
   "lifecycleStatus":{
       "lId":2,
       "name":"InActive"
   }
}

共有1个答案

卢光誉
2023-03-14

我知道这很傻,但是你能把lid重命名为lid(大写的'I'改为小写的'I')吗??

变量名lid与所有小的后者,并在所有其他文件中做相关的更改,以及在DAO中,然后再试一次!

也由邮递员用“盖子”发送请求(均为小后)

 类似资料:
  • 我有两个实体类,如下所示- 我在保存子记录时出错。 错误- Hibernate:插入子(名称,child\u id)值(?,)2022-07-19 23:12:31.727警告20940---[nio-8080-exec-2]o.h.engine.jdbc.spi。SqlExceptionHelper:SQL错误:0,SQLState:23502 2022-07-19 23:12:31.727错误

  • 我有两个表和一个表来映射我以前的两个表的关系,我如何使用Spring data JPA高效自动地将数据插入到映射的表中?下面是表结构。 用户(id(PK),名称,电子邮件,userRoleId)角色(id(PK),名称,userRoleId)用户角色(id(PK),userId(FK<-User),roleId(FK<-Role))

  • 我有两个表1)krs_question_bank 2)krs_options 而我正在调用Session.Save(问题)。生成了Hibernate查询,但..我有以下错误。有什么办法可以解决这个错误吗?

  • 问题内容: 我有5个MySQL InnoDB表:每个表都在Hibernate中映射并起作用。我玩过使用StatelessSession / Session和JDBC批处理大小。我删除了任何生成器类,以使MySQL处理id生成- 但它的执行速度仍然很慢。这些表中的每一个都在java类中表示,并相应地在hibernate中进行映射。目前,当需要将数据写出时,我遍历对象并执行一个(如果正在使用State

  • 我正在使用Hibernate和JPA注释来映射我的类。当hibernate尝试映射这个类时,我遇到了一个问题 我的Social alStat类是: 我得到了这个错误: 我猜发生这种情况是因为我试图映射到一个基本类,但@ElementCollection注释不应该解决这个问题吗? 我的item类如下所示:

  • JobVO[jobid=1,jobname=job name,jobdesc=desc,service=servicevo[serviceid=2,serviceName=tax Audit,activeSwitch=y,lastupdateddt=2013-08-31,lastupdatedby=mahesh],duedate=2013-09-01,lastupdateddt=2013-09-0