Java 我得到org.hibernate.tool.schema.spi.CommandAcceptanceException:为h2数据库中的Create table执行DDL时出错
我正在使用h2数据库进行junit测试。我发现了一个类似的问题。但我没有使用任何保留的关键字。 我得到以下错误 org.hibernate.tool.schema.spi.CommandAcceptanceException:执行DDL“创建表用户(id整数非空自动增量)、地址varchar(255)、创建日期时间datetime(6)、电子邮件varchar(255)、名字varchar(255)、姓氏varchar(255)、密码varchar(255)、电话varchar(255)、位置varchar(255)、用户名varchar(255)时出错,主键(id))engine=InnoDB“通过JDBC语句 在org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67)~[hibernate-core-5.4.12.Final.jar:5.4.12.Final] 我的实体类用户如下所示Java 我得到org.hibernate.tool.schema.spi.CommandAcceptanceException:为h2数据库中的Create table执行DDL时出错,java,hibernate,spring-boot,h2,Java,Hibernate,Spring Boot,H2,我正在使用h2数据库进行junit测试。我发现了一个类似的问题。但我没有使用任何保留的关键字。 我得到以下错误 org.hibernate.tool.schema.spi.CommandAcceptanceException:执行DDL“创建表用户(id整数非空自动增量)、地址varchar(255)、创建日期时间datetime(6)、电子邮件varchar(255)、名字varchar(255)、姓氏varchar(255)、密码varchar(255)、电话varchar(255)、位置v
import java.io.Serializable;
import java.time.LocalDateTime;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.hibernate.annotations.CreationTimestamp;
import lombok.Data;
import lombok.NoArgsConstructor;
@Entity
@NoArgsConstructor
@Data
public class User implements Serializable, Comparable<User> {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String firstName;
private String lastName;
private String userName;
private String password;
private String phone;
private String email;
private String address;
@Enumerated(EnumType.STRING)
private Place place;
@CreationTimestamp
private LocalDateTime createDateTime;
public User(Integer id, String firstName, String lastName, String userName, String password, String phone, String email, String address, String place) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.userName = userName;
this.password = password;
this.phone = phone;
this.email = email;
this.address = address;
this.place = Place.valueOf(place);
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(this.getId()).append(this.getFirstName()).append(this.getLastName())
.append(this.getEmail()).toHashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof User))
return false;
User other = (User) obj;
return new EqualsBuilder().append(this.getId(), other.getId()).append(this.getFirstName(), other.getFirstName())
.append(this.getLastName(), other.getLastName()).append(this.getEmail(), other.getEmail()).isEquals();
}
@Override
public String toString() {
return "User [id=" + id + ", firstName=" + firstName + ", lastName=" + lastName + ", userName=" + userName
+ ", password=" + password + ", phone=" + phone + ", email=" + email + ", address=" + address
+ ", createDateTime=" + createDateTime + "]";
}
@Override
public int compareTo(User other) {
return this.getId() > other.getId() ? 1 : this.getId() < other.getId() ? -1 : 0;
}
}
Data.sql文件
INSERT INTO user(id,firstName,lastName) VALUES(1,"firstName","lastName");
INSERT INTO user(id,firstName,lastName) VALUES(2,"firstName1","lastName1");
INSERT INTO user(id,firstName,lastName) VALUES(3,"firstName2","lastName2");
INSERT INTO user(id,firstName,lastName) VALUES(4,"firstName3","lastName3");
请帮忙
INSERT INTO user(id,firstName,lastName) VALUES(1,"firstName","lastName");
INSERT INTO user(id,firstName,lastName) VALUES(2,"firstName1","lastName1");
INSERT INTO user(id,firstName,lastName) VALUES(3,"firstName2","lastName2");
INSERT INTO user(id,firstName,lastName) VALUES(4,"firstName3","lastName3");