Spring JPA数据存储库行为不正常

时间:2018-11-13 23:58:18

标签: java spring object jpa

我是Spring的新手,我试图创建一个Object并将其添加到数据库中,然后从中获取值。据我了解,我不应添加任何额外的行,因此findAll应该会给我以合适的外观String
但是我得到的结果是这样的:

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

我还了解到,我不应该向get/set添加Spring方法,因为它们应该自动生成,但是当我尝试将model.Orders@4a163575转换为{{1}时}并执行Object方法它告诉我没有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,因此toString注释无法正常工作。

我用以下行导入getters/setter注释:@Data

我在做什么错了。

2 个答案:

答案 0 :(得分:2)

您需要安装lombok插件,以便有可能生成它们

您可以参考本文,了解如何在IntellijIdea中安装lombok:

Lombok annotations do not compile under Intellij idea

请同时添加启用注释处理

答案 1 :(得分:0)

好象我似乎忘记了enable annotation processingPicture to show where and how I did it