java - Spring JPA 数据存储库没有发挥应有的作用

标签 java spring object jpa

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

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

我还了解到,我不应该向 Spring 添加 get/set 方法,因为它们应该自动生成,但是当我尝试强制转换 model.Orders@4a163575 转换为 Object 并执行 get 方法 它告诉我没有 get 方法。

这是我的对象:

@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 注释:import lombok.Data;

我在这里做错了什么。

最佳答案

您需要安装lombok插件才能生成它们

您可以引用这篇文章如何在IntellijIdea中安装lombok:

Lombok annotations do not compile under Intellij idea

另请添加启用注释处理

关于java - Spring JPA 数据存储库没有发挥应有的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53291221/

相关文章:

java - 来自 Java UDP 的空指针异常

java - 无法使用 selenium 和 java 获取页面中所有下拉框的位置

java - 仅注入(inject)一些属性, mock 其他属性

javascript - 我如何通过他们的 parentId 和 Id 在 Javascript 中从这个平面数组构建一个树数组。

java - 从隐藏字段的类的子类访问隐藏字段

java - 发生错误时如何使用 RestTemplate 读取正文?

java - HandlerInterceptorAdaptarer Spring - 发现从元素 'bean' 开始的无效内容

javascript - 正确转义 javascript 对象

c++ - 错误: Object is undeclare, 第一次使用这个函数

java - 在函数内更改 Java 中的对象