복붙노트

[SQL] 하이버 네이트 기준의 합 ()을 사용하여

SQL

하이버 네이트 기준의 합 ()을 사용하여

어떻게 SQL 최대 절전 기준으로 트랜잭션의 합계 (금액 * 방향) 선택 쿼리 쓸 수있다?

해결법

  1. ==============================

    1.내가 답을 찾은 것 같아요. 당신은 Projection.sqlProjection ()하지 Projections.sum를 사용해야합니다 (). 예:

    내가 답을 찾은 것 같아요. 당신은 Projection.sqlProjection ()하지 Projections.sum를 사용해야합니다 (). 예:

    .setProjection(Projections.sqlProjection("sum(cast(amount as signed)* direction) as amntDir", new String[] {"amntDir"} , new Type[] {Hibernate.DOUBLE}));
    
  2. ==============================

    2.나는 당신이 필요로하는 식 생각합니다. 이 같은,

    나는 당신이 필요로하는 식 생각합니다. 이 같은,

    @Entity
    @Table('TRANSACTIONS')
    Class transactions {
    
         @Column("AMOUNT")
         private double amount;
    
         @Column("DIRECTION")
         private double direction;
    
         @Formula("AMOUNT * DIRECTION")
         private double multiplication;
    
    }
    

    그리고 당신의 프로젝션 목록에 곱셈 열을 추가합니다.

  3. ==============================

    3.계획은 최대 절전 모드 기준으로 집계 함수를 사용할 수있는 키워드입니다.

    계획은 최대 절전 모드 기준으로 집계 함수를 사용할 수있는 키워드입니다.

    roseindia는 SELECT SUM (...) 쿼리를 구현하는 간단한 예제가 있습니다. 아주 가까이 문제로 보인다.

    여기에 SUM (COL1 * COL2) 표현과 이전에 예외를 제외하고 비슷한 문제가 있었다 원래의 포스터 작업 예제를 포함하는 다른 포럼 주제입니다.

  4. from https://stackoverflow.com/questions/4624807/using-sum-in-hibernate-criteria by cc-by-sa and MIT license