Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Dữ liệu mùa xuân jpa findByDate luôn trả về một danh sách trống

Bạn đã tạo kế hoạch db của mình? Bạn đã thử tạo nó chưa?

Nếu có thể tạo (với drop), hãy đặt thuộc tính sau trong application.properties của bạn.

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

Có thể bạn có các kiểu dữ liệu khác nhau (ví dụ:ngày so với ngày giờ) trong DB của bạn và được sử dụng bởi dữ liệu mùa xuân. Tôi đã tạo lại dự án của bạn và hoạt động tốt với H2 và MySQL.

CHỈNH SỬA:

Cố gắng cập nhật mô tả cột của bạn như sau:

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

Có thể có các lựa chọn khác nhau. Xem mã của tôi:

Thứ tự hạng.

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

Kiểm tra lớp đậu.

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

    }
}

Kết quả:eq? :trueods.size:1, ods2.size:1

Truy vấn 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. Tại sao MySQL thực thi lại trả về Không?

  2. mảng php mysql - chèn thông tin mảng vào mysql

  3. Các ràng buộc như NOT NULL và FOREIGN KEY quan trọng như thế nào nếu tôi luôn kiểm soát đầu vào cơ sở dữ liệu của mình bằng PHP?

  4. LỆNH có điều kiện của MySQL BẰNG ASC / DESC cho cột ngày tháng

  5. phpMyBackupPro - Công cụ sao lưu MySQL dựa trên web dành cho Linux