Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

स्प्रिंग डेटा jpa findByDate हमेशा एक खाली सूची लौटा रहा है

क्या आपने अपनी डीबी योजना तैयार की? क्या आपने इसे उत्पन्न करने का प्रयास किया है?

यदि उत्पन्न करना संभव है (ड्रॉप के साथ), अपने 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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WAMP को MySQL 5.5 में अपग्रेड करें?

  2. वर्डप्रेस में क्वेरी का चयन करें

  3. MySQL में जटिल COUNT क्वेरी

  4. PHP स्क्रिप्ट में MySQL क्रेडेंशियल कहाँ स्टोर करें?

  5. phpMyAdmin एक #2002 फेंक रहा है mysql सर्वर में लॉग इन नहीं कर सकता phpmyadmin