美文网首页我爱编程
Spring Boot使用问题汇总

Spring Boot使用问题汇总

作者: 浩仔_Boy | 来源:发表于2018-04-13 13:52 被阅读117次

    1. No identifier specified for entity
    没有加上@Id注解,而且要正确导包:
    正确:

    import javax.persistence.*;
    

    错误:

    import org.springframework.data.annotation.Id;
    

    2. 使用分页时候,could not extract ResultSet;
    报ORA-00933: SQL 命令未正确结束一直报这个错误,
    看打印的sql语句是:

    SELECT id FROM table OffSET 1 FETCH FIRST 5 ROWS ONLY ;
    

    Spring Boot的版本是2.0.1

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
    </parent>
    

    jpa的版本是

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
                <version>1.5.6.RELEASE</version>
    </dependency>
    

    怀疑是不是版本不统一导致的,将jpa换成2.0.1无果。将spring boot换成1.5.6成功拿到分页数据。
    奇怪啊~~~~~~~~~~~~~
    又看了下打印出来的sql语句,发现了问题所在。我的oracle是11g,而OffSET 是在12c版本才开始支持。恶心了一天,终于找到问题,终于可以开心的打王者了。

    3.使用原生sql,APP端解析成LinkTreeMap而非实体类

    image.png
    解决方案:如图,不要用Object去存放数据,使用JSONObject即可。

    4.简单的sql语句,报错ORA-00911: 无效字符。甚是奇怪。执行语句如下:

      /**
         * 根据用户id获取用户手势密码
         * @param userId
         * @return
         */
        public Object getGesturePasswordById(String userId){
            String sql = "select GESTURE_PASSWORD FROM AS_USER WHERE user_id = '"+userId+"' OR user_name = '"+userId+"';";
            Query query= entityManager.createNativeQuery(sql);
            List<Object> list = query.getResultList();
            if (list == null || list.size() == 0) {
                return null;
            }
            return list.get(0);
        }
    

    后来经过调试发现sql语句尾部的;不能要,将sql改为

    String sql = "select GESTURE_PASSWORD FROM AS_USER WHERE user_id = '"+userId+"' OR user_name = '"+userId+"'";
    

    即可。

    相关文章

      网友评论

        本文标题:Spring Boot使用问题汇总

        本文链接:https://www.haomeiwen.com/subject/csuckftx.html