Spring JPA 数据存储库的行为不像它应该的那样

我是新手Spring,我正在尝试创建一个Object并将其添加到我的数据库中,然后从中获取值。据我了解,我不应该添加任何额外的行,结果findAll应该让我看起来正确String。

但我得到的结果是这样的:


[model.Orders@4a163575, model.Orders@7ecec90d]

我还理解的是,我不应该添加get/set方法,Spring因为它们应该是自动生成的,但是当我尝试将其model.Orders@4a163575转换为 anObject并执行get方法时,它告诉我没有get方法。


所以这是我的Object:


@Data

@Entity

public class Orders {


    public Orders(String orderName) {

        this.orderName = orderName;

    }


    public Orders() {

    }


    @Id

    @GeneratedValue

    private Long id;


    private String orderName;


}

然后findAll方法:


@Repository

public class OrderDao {


        public List<Orders> findAll(){

            return em.createQuery("select p from Orders p", Orders.class).getResultList();

        }

}

我在哪里启动它:


public static void main(String[] args) {


        ConfigurableApplicationContext ctx =

              new AnnotationConfigApplicationContext(DbConfig.class);


        OrderDao dao = ctx.getBean(OrderDao.class);


        dao.save(new Orders("order1"));

        dao.save(new Orders("order2"));


        System.out.println(dao.findAll());

}

据我所知,我认为@Data注释无法正常工作,因为没有toStringnor getters/setter。


我用这一行导入@Data注释:import lombok.Data;。


我在这里做错了什么。


蛊毒传说
浏览 156回答 2
2回答

素胚勾勒不出你

您需要安装 lombok 插件才能生成它们您可以参考这篇文章如何在 IntellijIdea 中安装 lombok:Lombok 注解在 Intellij IDEA 下无法编译还请添加启用注释处理

开满天机

好吧,看来我忘了enable annotation processing。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java