Bạn đã tạo kế hoạch db của mình? Bạn đã thử tạo nó chưa?
Nếu có thể tạo (với drop), hãy đặt thuộc tính sau trong application.properties của bạn.
spring.jpa.hibernate.ddl-auto=create-drop
Có thể bạn có các kiểu dữ liệu khác nhau (ví dụ:ngày so với ngày giờ) trong DB của bạn và được sử dụng bởi dữ liệu mùa xuân. Tôi đã tạo lại dự án của bạn và hoạt động tốt với H2 và MySQL.
CHỈNH SỬA:
Cố gắng cập nhật mô tả cột của bạn như sau:
@Column(name = "creation", columnDefinition="TIMESTAMP(6)")
@Temporal(TemporalType.TIMESTAMP)
private Date creation;
Có thể có các lựa chọn khác nhau. Xem mã của tôi:
Thứ tự hạng.
@Entity
@Table(name = "Ordr")
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(name = "creation", columnDefinition="TIMESTAMP(6)")
@Temporal(TemporalType.TIMESTAMP)
private Date creation;
// getters and setters
}
Kiểm tra lớp đậu.
@Component
public class SomeBean {
@Autowired
private OrderRepository orderRepository;
@PostConstruct
public void init() {
Date date = new Date();
Order order = new Order();
order.setId(1L);
order.setCreation(date);
orderRepository.save(order);
Date creationFromDB = orderRepository.findOne(1L).getCreation();
System.out.println("eq? : "+ new Date(creationFromDB.getTime()).equals(order.getCreation()));
List<Order> ods = orderRepository.findByCreation(creationFromDB);
List<Order> ods2 = orderRepository.findByCreation2(creationFromDB);
System.out.println("\n ods.size: " + ods.size() +", ods2.size: "+ods2.size());
}
}
Kết quả:eq? :trueods.size:1, ods2.size:1
Truy vấn DB:
mysql> select * from ordr;
+----+----------------------------+
| id | creation |
+----+----------------------------+
| 1 | 2016-08-03 15:15:12.386000 |
+----+----------------------------+
1 row in set (0,00 sec)