我正在制作一个web项目,在本地完成后,我上传到服务器(Centos7),但当我转到主页时,日志返回此错误。
奇怪的是,在我的笔记本电脑(Mac)上,一切都运行得很好,但当我通过服务器打开它时。spring-boot日志显示找不到两个表。所有其他表看起来都没问题。和主页做数据从db.From现在我找不到解决方案从internet.and我检查了数据库在服务器上,这两个表是存在的。(他们目前没有数据。)
@Entity
@Table(name = "orderItem")
@JsonIgnoreProperties({ "handler","hibernateLazyInitializer" })
public class OrderItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@ManyToOne
@JoinColumn(name="pid")
private Product product;
@ManyToOne
@JoinColumn(name="oid")
private Order order;
@OneToOne
@JoinColumn(name="uid")
private User user;
@OneToOne
@JoinColumn(name="sid")
private User seller;
public List<Request> getRequests() {
return requests;
}
public void setRequests(List<Request> requests) {
this.requests = requests;
}
@Transient
private List<Request> requests;
private int status;
private int price;
private Date createDate;
private int way;
private int number;/+-+| Tables_in_gogogo +-+|地址|类别||聊天消息|| order_ || orderitem ||产品|| productimage || property ||属性值||请求||审核||用户||用户镜像||愿望列表|++/
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/gogogo?
useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDate
timeCode=false&serverTimezone=UTC&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto = none
spring.jpa.hibernate.naming.physicalstrategy=
org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl///
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:499)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:477)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:56)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
... 65 more原因: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表'gogogo.orderItem‘不存在于sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(在com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2487)在com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)在com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966)在sun.reflect.GeneratedMethodAccessor102.invoke(Unknown源代码)在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)在java.lang.reflect.Method.invoke(代理)。$Proxy130.executeQuery(未知源)在org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70) ... 96更多
我在这个bug上浪费了很多时间。
发布于 2019-02-11 10:52:17
在MySQL中,表名区分大小写。请在实体类中将表名更正为"orderitem“,然后重试。“聊天消息”表也是如此。
https://stackoverflow.com/questions/54622806
复制相似问题