【问题标题】:EntityManager.getResultList() does not return the expected resultEntityManager.getResultList() 未返回预期结果
【发布时间】:2018-03-23 06:42:40
【问题描述】:
select a.AssignAccOwner,a.AssignBillRate,a.AssignPerdiem from orion_db.assignment as a where a.AssignmentId=25

我能够成功执行上述查询。但是当我尝试使用 entityManager.createnativeQuery 以编程方式执行相同的查询时,我得到的 resultList 为 0 下面是代码

buff.append("select a.AssignAccOwner,a.AssignBillRate,a.AssignPerdiem from orion_db.assignment as a where a.AssignmentId=25");
                Query q2 = entityManager.createNativeQuery(buff.toString());
        resultList = q2.getResultList();                
        System.out.println("Geting the resultList in dao layer " + q2.getResultList().size());
        System.out.println("Geting the result in dao layer " + resultList.size());

这是我在日志中得到的结果

Geting the resultList in dao layer 0
Geting the result in dao layer 0

下面是assignment.java实体类

/** * hbm2java 生成的赋值 */

  @Entity
    @Table(name = "assignment")
    public class Assignment implements java.io.Serializable {

private static final long serialVersionUID = 1L;
        private Integer assignmentId;       
        private String assignAccOwner;  
        private BigDecimal assignBillRate;


        private String assignPerdiem;

        @Id
        @GeneratedValue(strategy = IDENTITY)

        @Column(name = "AssignmentId", unique = true, nullable = false)
        public Integer getAssignmentId() {
            return this.assignmentId;
        }

        public void setAssignmentId(Integer assignmentId) {
            this.assignmentId = assignmentId;
        }

        @Column(name = "AssignBillRate", precision = 10)
        public BigDecimal getAssignBillRate() {
            return this.assignBillRate;
        }

        public void setAssignBillRate(BigDecimal assignBillRate) {
            this.assignBillRate = assignBillRate;
        }


        @Column(name = "AssignPerdiem", length = 30)
        public String getAssignPerdiem() {
            return this.assignPerdiem;
        }

        public void setAssignPerdiem(String assignPerdiem) {
            this.assignPerdiem = assignPerdiem;
        }

        @Column(name = "AssignAccOwner", length = 100)
        public String getAssignAccOwner() {
            return this.assignAccOwner;
        }

        public void setAssignAccOwner(String assignAccOwner) {
            this.assignAccOwner = assignAccOwner;
        }

    }

【问题讨论】:

  • 你为什么不试试:entityManager.createNativeQuery("select a.AssignAccOwner,a.AssignBillRate,a.AssignPerdiem from orion_db.assignment as a where a.AssignmentId=?");q2.setParameter(1, 25);
  • @AtimeneNazim 我仍然得到相同的 o/p
  • 你能发布你的作业课程吗?
  • @AtimeneNazim 我正在使用普通的 sql,所以我们需要考虑分配类吗??
  • 你有一个对象列表,所以你可以操作对象!所以我认为你必须考虑分配类!因为实体管理器使用类(对象)

标签: sql entitymanager


【解决方案1】:

这不是代码问题,我没有连接到本地数据库,因此我没有得到预期的结果..

【讨论】:

    猜你喜欢
    • 2011-08-09
    • 2010-09-22
    • 2021-05-17
    • 2018-02-19
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多