Я новичок в Spring
и пытаюсь создать Object
и добавить его в свою базу данных, а затем получить из него значение.Насколько я понимаю, я не должен добавлять никаких дополнительных строк, и findAll
должен возвращать мне правильно выглядящий String
в результате.
Но результат, который я получаю, выглядит следующим образом:
[model.Orders@4a163575, model.Orders@7ecec90d]
Я также понял, что я не должен добавлять get/set
методы к Spring
, поскольку они должны генерироваться автоматически, но когда я пытаюсьпреобразование model.Orders@4a163575
в 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
с этой строкой: import lombok.Data;
.
Что я здесь не так делаю.