该实体具有 LocalDate 字段。在使用 LocalDate.now() 进行测试时,遇到了返回 Date 字段的问题:
首先保存返回对象的日期是否正确。
从 MySQL 数据库返回对象时,日期是前一天
例子:
预计:2019-01-29
实际:2019-01-28
我昨天试过了,结果是:
预计:2019-01-28
实际:2019-01-27
可能类似于 this JPA Saving wrong date in MySQL database
代码
应用程序-mysql-test-connection.properties
spring.jpa.hibernate.ddl-auto=create
# Database url
spring.datasource.url=jdbc:mysql://localhost:3306/test_coupon_system?serverTimezone=UTC
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
# Test Database credentials
spring.datasource.username=springuser
spring.datasource.password=springuser
### showing values - for development
spring.jpa.show-sql=true
为简洁起见,优惠券删除了构造函数和 getter/setter
@Entity
public class Coupon {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", length = 45)
private long id;
@Column(name = "name", unique = true, nullable = false, length = 45)
private String name;
@Column(name = "description", length = 100)
private String description;
@Column(name = "imageLocation")
private String imageLocation;
@Column(name = "startDate", length = 45)
private LocalDate startDate;
@Column(name = "endDate", length = 45)
private LocalDate endDate;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "company_id")
private Company company;
@ManyToMany(cascade = CascadeType.PERSIST,fetch = FetchType.EAGER)
@JoinTable(
name = "customer_coupon",
joinColumns = @JoinColumn(name = "coupon_id"),
inverseJoinColumns = @JoinColumn(name = "customer_id")
)
private List<Customer> customers;
侃侃尔雅
繁花如伊
慕田峪9158850
相关分类