我使用的是春天的数据JPA的Spring MVC的项目工作和休眠,我使用,我在扩展JpaRepository这样的接口中声明的原生查询:
public interface I_Table_one extends JpaRepository<table_id, Long>{
@Query(value ="select name_att, .... .... various att"
+ "from Table_one "
+ "where id_table = 4 ",
nativeQuery = true)
public List<Table_one_Mapped_Class>serachInTable();
这种方法不具有太大的意义仅仅是一个例子,我有一个,有这样的选择我只是一个知道80点的属性是有办法知道什么列名我有错。
我的映射类:
@Entity
@Table(name="Table_one")
public class Table_one_Mapped_Class implements Serializable {
private static final long serialVersionUID = 1L;
////ID///////
@Id
@Column (name="ID_TABLE", nullable=false)
private Long idInMyTable;
////ID///////
.....other columns
这是我的Hibernate属性配置:
jpaProperties.put("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect");
jpaProperties.put("hibernate.format_sql", true);
jpaProperties.put("hibernate.ejb.naming_strategy", "org.hibernate.cfg.ImprovedNamingStrategy");
jpaProperties.put("hibernate.show_sql", true);
我得到以下错误,当我试图从我的控制器类的html页面打印值这样${value}
我在控制台中此错误:
警告:org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL错误:17006,SQLSTATE:99999
错误:org.hibernate.engine.jdbc.spi.SqlExceptionHelper - 无效的列名称
当我尝试这个错误打开网页
请求处理失败; 嵌套的例外是org.springframework.orm.jpa.JpaSystemException:org.hibernate.exception.GenericJDBCException:无法执行查询; 嵌套的例外是javax.persistence.PersistenceException:org.hibernate.exception.GenericJDBCException:无法执行查询
在控制台中说:
无效的列名
但我怎么能知道什么样的列有无效的名称,是在我把接口方法查询,或者是属性的一个无效的名称在我的映射类
我已经看到了类似的问题,什么人贴,我需要为工作选择在选择所有列,但为什么我只在我的选择需要几列,我需要选择所有的列,即使不需要它们?