Apakah Anda membuat skema db Anda? Sudahkah Anda mencoba membuatnya?
Jika memungkinkan untuk menghasilkan (dengan drop), setel properti berikut di application.properties Anda.
spring.jpa.hibernate.ddl-auto=create-drop
Berpotensi Anda memiliki tipe data yang berbeda (misalnya tanggal vs. datetime) di DB Anda dan digunakan oleh data pegas. Saya telah membuat ulang proyek Anda, dan semuanya bekerja dengan baik dengan H2 dan MySQL.
EDIT:
Coba perbarui deskripsi kolom Anda sebagai berikut:
@Column(name = "creation", columnDefinition="TIMESTAMP(6)")
@Temporal(TemporalType.TIMESTAMP)
private Date creation;
Mungkin ada presisi yang berbeda. Lihat kode saya:
Pesan kelas.
@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
}
Uji kelas kacang.
@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());
}
}
Hasil:persamaan? :trueods.size:1, ods2.size:1
Kueri DB:
mysql> select * from ordr;
+----+----------------------------+
| id | creation |
+----+----------------------------+
| 1 | 2016-08-03 15:15:12.386000 |
+----+----------------------------+
1 row in set (0,00 sec)