Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Data pegas jpa findByDate selalu mengembalikan daftar kosong

Apakah Anda membuat skema db Anda? Sudahkah Anda mencoba membuatnya?

Jika memungkinkan untuk menghasilkan (dengan drop), setel properti berikut di application.properties Anda.

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

Berpotensi Anda memiliki tipe data yang berbeda (misalnya tanggal vs. datetime) di DB Anda dan digunakan oleh data pegas. Saya telah membuat ulang proyek Anda, dan semuanya bekerja dengan baik dengan H2 dan MySQL.

EDIT:

Coba perbarui deskripsi kolom Anda sebagai berikut:

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

Mungkin ada presisi yang berbeda. Lihat kode saya:

Pesan kelas.

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

Uji kelas kacang.

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

    }
}

Hasil:persamaan? :trueods.size:1, ods2.size:1

Kueri DB:

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. Apa manfaat menggunakan kelas migrasi dan model di Laravel?

  2. T_BOOLEAN_AND kesalahan?

  3. Dapatkan baris terbaru untuk ID yang diberikan

  4. Kembalikan catatan duplikat

  5. Masukkan nilai tetap yang sama ke dalam beberapa baris