为什么无法对数据库表进行操作? (仍获取NullPointerException)

问题描述 投票:0回答:1

我在使用JPA将(插入)记录保存到数据库(PL / SQL)表中时遇到问题。

这是我的模特班:

@Entity
@Table(name = "QOP_DROOLS_APP")
public class QopDroolAppModel {

        @Id //primary key
        @Column(name = "DROOL_ID")
        private Long droolId;

        @Column(name = "DROOL_NAME")
        private String droolName;

        @Column(name = "DROOL_HUMAN_NAME")
        private String droolHumanName;

        @Column(name = "DROOL_BODY")
        private String droolBody;

        @Column(name = "DROOL_DESCRIPTION")
        private String droolDescription;
}

回购类

@Repository
public interface QopDroolAppRepo extends JpaRepository<QopDroolAppModel, Long> {}

DAO类

public class QopDroolAppDAO {

    @Autowired(required = true)
    private QopDroolAppRepo repo;

    @Autowired(required = true) 
    public void saveDataInTable(String ruleName, String ruleBody, String description)
    {
        QopDroolAppModel m1 = new QopDroolAppModel();
        long generatedLong = new Random().nextInt(100);
        m1.setDroolId(generatedLong);
        m1.setDroolName(ruleName);
        m1.setDroolHumanName(ruleName);
        m1.setDroolBody(ruleBody);
        m1.setDroolDescription(description);

        this.repo.save(m1);
    }
}

我已经尝试了所有方法,但仍然是相同的错误。

错误o.a.c.c.C。[。[。[。[dispatcherServlet]-路径为[]的上下文中Servlet [dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常是java.lang.NullPointerException],其根本原因是java.lang.NullPointerException:null

spring oracle spring-boot jpa crud
1个回答
0
投票

用一些Spring构造型注释来注释DAO类,例如@Component,因此-如果一切都正确设置-Spring可以查找此类,实例化它并在应用启动时(组件扫描)设置相关对象。

@Component
public class QopDroolAppDAO {

    @Autowired(required = true)
    private QopDroolAppRepo repo;

    public void saveDataInTable(String ruleName, String ruleBody, String description)
    {
        QopDroolAppModel m1 = new QopDroolAppModel();
        long generatedLong = new Random().nextInt(100);
        m1.setDroolId(generatedLong);
        m1.setDroolName(ruleName);
        m1.setDroolHumanName(ruleName);
        m1.setDroolBody(ruleBody);
        m1.setDroolDescription(description);
        this.repo.save(m1);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.