Песчаная проекция интерфейса JPA возвращает значения нулевыхJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Песчаная проекция интерфейса JPA возвращает значения нулевых

Сообщение Anonymous »

Я пытаюсь получить агрегированные данные, используя Spring Data JPA Проекцию
У меня есть две организации - пользовательские (с учетной записью и клиентами) и записей, который имеет составной ключ (AccountNumber, SummanThreshold). Я хочу подвести итог, сгруппированная с помощью CustomerID и SUTPHERSHOLD, и составить ее на проекционный интерфейс. Class = "Lang-Java PrettyPrint-Override">

Код: Выделить всё

@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table(name = "USER")
public class UserEntity implements Serializable {
...
@Column(name = "ACCOUNTT_NUMBER", nullable = false, length = 20)
private String accountNumber;
@Column(name = "CUSTOMER_ID", nullable = true, length = 30)
private String customerId;
...
}

@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table(name = "RECORD")
public class RecordEntity implements Serializable {
@EmbeddedId
private RecordEntityPK id;
@Column(name = "AMOUNT", nullable = false)
private BigDecimal amount;
...
}

@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
@Data
@Embeddable
public class RecordEntityPK implements Serializable {
@Column(name = "ACCOUNTT_NUMBER", nullable = false, length = 20)
private String accountNumber;
@Column(name = "AMOUNT_THRESHOLD", nullable = false)
private Long amountThreshold;
...
}
< /code>
Проекция: < /p>
public interface UserAmountProjection {
String getCustomerId();
Long getAmountThreshold();
BigDecimal getAmount();
}
< /code>
Repository: < /p>
public interface RecordEntityRepository extends CrudRepository {
@Query("""
SELECT
u.customerId AS customerId,
r.id.amountThreshold AS amountThreshold,
SUM(r.amount) AS amount
FROM RecordEntity r
JOIN UserEntity u ON r.id.accountNumber = u.accountNumber
WHERE u.customerId IN ?1
GROUP BY u.customerId, r.id.amountThreshold
ORDER BY u.customerId, r.id.amountThreshold
""")
List findAmountByCustomerID(List CustomerID);
}
Кроме того, я попытался изменить запрос, чтобы вернуть простые значения, такие как String и Bigdecimal, и он работал - так что, похоже, проблема связана с проекционным отображением.
Что я делаю неправильно?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ull-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Песчаная проекция интерфейса JPA возвращает значения нулевых
    Anonymous » » в форуме JAVA
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Spring Boot 3.4 - спецификация и проекция JPA
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Spring Boot 3.4 - спецификация и проекция JPA
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Хранимая процедура C# возвращает все строки в таблице для нулевых значений.
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Хранимая процедура C# возвращает все строки в таблице для нулевых значений.
    Anonymous » » в форуме C#
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»