Генерирахте ли вашата db схема? Опитахте ли да го генерирате?
Ако е възможно да се генерира (с отпадане), задайте следното свойство във вашето приложение.properties.
spring.jpa.hibernate.ddl-auto=create-drop
Потенциално имате различни типове данни (напр. дата срещу дата и час) във вашата DB и използвани от пролетни данни. Пресъздадох вашия проект и всичко работи добре с H2 и MySQL.
РЕДАКТИРАНЕ:
Опитайте да актуализирате описанието на колоната си, както следва:
@Column(name = "creation", columnDefinition="TIMESTAMP(6)")
@Temporal(TemporalType.TIMESTAMP)
private Date creation;
Може да има различни точности. Вижте моя код:
Клас на поръчката.
@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
}
Тествайте клас bean.
@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());
}
}
Резултат:eq? :trueods.size:1, ods2.size:1
Заявка в DB:
mysql> select * from ordr;
+----+----------------------------+
| id | creation |
+----+----------------------------+
| 1 | 2016-08-03 15:15:12.386000 |
+----+----------------------------+
1 row in set (0,00 sec)