如何解决无法找到表格Spring DATA JPA
我想对SQL查询使用Query native,因此为了测试,我尝试运行此查询:
public interface DriverRepository extends CrudRepository<Driver,Long> {
@Query(value = "SELECT * from Driver",nativeQuery = true)
List<Driver> getDrivers();
}
在我的控制台上,我收到以下消息:
Method threw 'org.springframework.dao.InvalidDataAccessResourceUsageException' exception.
打开hibernate.format_sql后,我收到以下消息:
Hibernate:
SELECT
*
from
Driver
2020-11-07 13:50:43.983 WARN 17000 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 42102,SQLState: 42S02
2020-11-07 13:50:43.983 ERROR 17000 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Table "DRIVER" not found; SQL statement:
SELECT * from Driver [42102-200]
所以我再次运行它,并查找所有创建的表,我看到只有驱动程序创建的表,而不是驱动程序表:
create table named_entity (
dtype varchar(31) not null,id bigint not null,name varchar(255),address varchar(255),city_id bigint,primary key (id)
)
NamedEntity类别:
package com.walt.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class NamedEntity {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private Long id;
private String name;
public NamedEntity() {
}
public NamedEntity(String name) {
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我的驱动程序类:
package com.walt.model;
import javax.persistence.*;
@Entity
public class Driver extends NamedEntity {
@ManyToOne
City city;
public Driver(){}
public Driver(String name,City city){
super(name);
this.city = city;
}
public City getCity() {
return city;
}
public void setCity(City city) {
this.city = city;
}
}
这是某人发送给我的代码,我试图了解如何通过本机查询访问驱动程序表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。