क्या आपने अपनी डीबी योजना तैयार की? क्या आपने इसे उत्पन्न करने का प्रयास किया है?
यदि उत्पन्न करना संभव है (ड्रॉप के साथ), अपने application.properties में निम्नलिखित संपत्ति सेट करें।
spring.jpa.hibernate.ddl-auto=create-drop
संभावित रूप से आपके पास डीबी में विभिन्न डेटा प्रकार (जैसे दिनांक बनाम डेटाटाइम) हैं और वसंत डेटा द्वारा उपयोग किया जाता है। मैंने आपके प्रोजेक्ट को फिर से बनाया है, और 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
}
टेस्ट बीन क्लास।
@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());
}
}
परिणाम:ईक? :trueods.size:1, ods2.size:1
डीबी क्वेरी:
mysql> select * from ordr;
+----+----------------------------+
| id | creation |
+----+----------------------------+
| 1 | 2016-08-03 15:15:12.386000 |
+----+----------------------------+
1 row in set (0,00 sec)