sql >> Databáze >  >> RDS >> Mysql

Jarní data jpa findByDate vždy vrací prázdný seznam

Vytvořili jste si schéma db? Zkusili jste jej vygenerovat?

Pokud je možné generovat (s drop), nastavte následující vlastnost ve vaší application.properties.

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

Ve vaší databázi můžete mít různé datové typy (např. datum vs. datum a čas) a používané jarními daty. Znovu jsem vytvořil váš projekt a vše fungovalo dobře s H2 a MySQL.

EDIT:

Pokuste se aktualizovat popis sloupce následovně:

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

Mohou existovat různé přesnosti. Viz můj kód:

Objednejte třídu.

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

Testovací třída fazolí.

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

    }
}

Výsledek:ekv? :trueods.size:1, ods2.size:1

DB dotaz:

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


  1. Spring boot JPA:Použijte knihovnu k hromadnému načtení dat pro MySQL

  2. Funkce formátu data serveru SQL Server

  3. Použít BLOB nebo VARBINARY pro šifrovaná data v MySQL?

  4. R- Speciální znaky se do mysql nevkládají