当前位置: 首页 > 知识库问答 >
问题:

在hibernate spring-data jpa中显示错误

皮弘博
2023-03-14
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();
@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
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);

我在控制台中得到以下错误:

警告:org.hibernate.engine.jdbc.spi.sqlExceptionHelper-SQL错误:17006,SQLState:99999
错误:org.hibernate.engine.jdbc.spi.sqlExceptionHelper-无效列名

当我尝试打开页面时出现这个错误

我见过类似的问题,什么人发帖说我需要选择所有的列才能工作,但为什么我只需要选择中的几列,我需要选择所有的列,即使不需要它们?

共有1个答案

郎宏逸
2023-03-14

如果您使用的是Spring Data JPA>1.4,那么您可以创建一个DTO-Class,它正好包含表中所需的属性。

示例-dto和-query如下所示,然后:

查询:

@Query("select new de.mypackage.mymodel.dto.myDTO(name_Att, att2,, att3)" +
        " from Table_One " +
        "where ...")
List<myDTO> getAttributesFromBigTable(String name_Attribute, 
                String attribute2, String attribute3);
    public class myDTO {

    private String name_attr;
    private String attr2;
    private String attr3;

    public myDTO(String name_attr, String attr2, String attr3) {
        this.name_attr = name_attr;
        this.attr2 = attr2;
        this.attr3 = attr3;
    }

    public String getName_Attr() {
       return name_attr;
    }
...
}
 类似资料:
  • 我在IntelliJ IDEA2020.1.2(终极版)中打开一个spring boot项目,并在实体中打开许多错误突出显示,例如: 无法解析表“角色” 类“RolesEntity”应具有[public,protected]无arg构造函数 无法解析表“user_roles” 但是当我在IntelliJ IDEA2019.3.3(社区版)这样的旧版本中打开我的项目时,我就看不出这个问题了。 Int

  • 我正在尝试用spring显示一个报告PDF,我终于得到了它,但是问题出现在我的代码中有一个异常或错误的时候。在这种情况下,我想在我的应用程序中显示特殊的消息。sping控制器返回一个带有文件pdf的ResponseEntity和一个http状态代码。

  • Prometheus在状态页显示连接超时 输出日志:部署的java应用程序的 客户端服务器中的没有响应

  • 我有一个简单的网络界面,在这里我可以为交易所的个人加密货币交易选择特定的市场、价格、目标和止损点。 我添加了一些默认的laravel验证规则,其中一些显示在Web界面上,就像它们应该的那样,但其中一个特别是在它确实触发时没有,因为当我检查错误时,它确实显示在响应中。 在这里,表单显示错误,除了在停顿部分,但停顿错误没有显示在网络界面上: 我已经简化了规则,只有“要求”用于测试目的,也有更多的规则它

  • 我正面临一个奇怪的问题。我已经把所有东西都放在php.ini文件里了。但是我不能在浏览器中显示任何错误。我google设置了. ini文件,并做了所有需要的事情。但是我仍然不能在浏览器中显示错误信息。我的PHP ini设置, 我尝试使用以下代码查看错误消息, 实际上文件示例不可用。所以它必须显示致命错误。但它显示的是空白页。 你能告诉我怎么解决这个问题吗?我不知道我错过了什么。

  • 我希望我的Laravel应用程序在开发期间在浏览器中输出断言错误。虽然我已经把一些断言在我的Laravel代码,肯定会失败,我从来没有看到任何错误输出在浏览器? Laravel中是否有断言报告配置可以强制显示这些错误? 在生产中,我希望断言失败调用回调方法并通过电子邮件向我发送错误。