我是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
。
我在做什么错了。
答案 0 :(得分:2)
您需要安装lombok插件,以便有可能生成它们
您可以参考本文,了解如何在IntellijIdea中安装lombok:
Lombok annotations do not compile under Intellij idea
请同时添加启用注释处理
答案 1 :(得分:0)
好象我似乎忘记了enable annotation processing
。
Picture to show where and how I did it