sql >> Database >  >> RDS >> Mysql

Spring data jpa findByDate retourneert altijd een lege lijst

Heeft u uw db-schema gegenereerd? Heb je geprobeerd het te genereren?

Als het mogelijk is om te genereren (met drop), stelt u de volgende eigenschap in uw application.properties in.

spring.jpa.hibernate.ddl-auto=create-drop

Mogelijk hebt u verschillende gegevenstypen (bijvoorbeeld datum versus datumtijd) in uw database en worden deze gebruikt door lentegegevens. Ik heb je project opnieuw gemaakt en alles werkte prima met H2 en MySQL.

BEWERKEN:

Probeer uw kolombeschrijving als volgt bij te werken:

@Column(name = "creation", columnDefinition="TIMESTAMP(6)")
@Temporal(TemporalType.TIMESTAMP)
private Date creation;

Er kunnen verschillende precisies zijn. Zie mijn code:

Bestel les.

@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
}

Proefbonenklasse.

@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());

    }
}

Resultaat:eq? :trueods.size:1, ods2.size:1

DB-query:

mysql> select * from ordr;
+----+----------------------------+
| id | creation                   |
+----+----------------------------+
|  1 | 2016-08-03 15:15:12.386000 |
+----+----------------------------+
1 row in set (0,00 sec)


  1. Uitvoeren van toestemming voor xp_cmdshell

  2. Hoe sqlcmd &bcp op Ubuntu te installeren

  3. Hoe de lengte van een string in mysql te vergroten tijdens het toewijzen met behulp van JPA

  4. Hoe bestanden verwijderen wanneer een record wordt verwijderd?