Java 弹簧靴;冬眠。日期自动创建
我使用Spring Boot Annotation@Entity自动创建数据库字段。 所以,我试过这个Java 弹簧靴;冬眠。日期自动创建,java,spring,hibernate,spring-boot,Java,Spring,Hibernate,Spring Boot,我使用Spring Boot Annotation@Entity自动创建数据库字段。 所以,我试过这个 @Entity @Table @Data public class Application { @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) private Date date; } 但是SpringBoot在MySQL中使用了DATETIME的“date”类型,所以它是将time(00:00:00)添加到我的行中。 我怎样才能
@Entity
@Table
@Data
public class Application {
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
private Date date;
}
但是SpringBoot在MySQL中使用了DATETIME的“date”类型,所以它是将time(00:00:00)添加到我的行中。
我怎样才能解决这个问题
还有一个问题。我有User.class
@Entity
@Table
@Data
public class User implements UserDetails {
private String username;
private String password;
private String first_name;
private String last_name;
}
但是这个字段的每个字段都可以为空,所以我应该向每个字段添加注释@Column(nullable=false)
,使其不为空吗?它看起来太傻了
@Entity
@Table
@Data
public class User implements UserDetails {
@Column(nullable = false)
private String username;
@Column(nullable = false)
private String password;
@Column(nullable = false)
private String first_name;
@Column(nullable = false)
private String last_name;
}属性在JPA中默认为空,但基元类型除外。对于
字符串
类型,无需添加@列(nullable=true)
//default = nullable
@Column
private String prop;
在JPA中,除了基元类型之外,属性默认为空。对于
字符串
类型,无需添加@列(nullable=true)
//default = nullable
@Column
private String prop;
我建议使用模式参数而不是iso参数:
@DateTimeFormat(pattern=“dd/MM/yyyy”)
我建议使用模式参数而不是iso参数:@DateTimeFormat(pattern=“dd/MM/yyyy”)
而不是Date
,最好使用Java8中的LocalDate
。这样,数据库中不应存储任何时间数据
关于@Column(nullable=false)
,这可能会有所帮助:
最好使用Java8中的
LocalDate
,而不是Date
。这样,数据库中不应存储任何时间数据
关于@Column(nullable=false)
,这可能会有所帮助:
为什么使用
Date
而不使用LocalDate
?关于@列(nullable=false)
,这可能会对您有所帮助。不,我可以使用LocalDate
它会对我有帮助吗?@ClaudiuGuja谢谢,LocalDate
工作正常!你能补充一个答案让我接受吗?你为什么使用Date
而不是LocalDate
?关于@列(nullable=false)
,这可能会对您有所帮助。不,我可以使用LocalDate
它会对我有帮助吗?@ClaudiuGuja谢谢,LocalDate
工作正常!你能补充一个答案让我接受吗?不,它仍然创建DATETIME而不是DATENah,它仍然创建DATETIME而不是DATE