Невозможно получить сопоставленные объекты - PullRequest
0 голосов
/ 01 апреля 2020

Не могли бы вы помочь мне решить одну спящую проблему? Я пытаюсь сделать 1 проект для обучения, но ударил здесь.

У меня есть 3 сущности с отношением OneToMany, как показано ниже:

1) Class Period {
           @Id
        private int periodId;

       private LocalDate  startDate;

       private LocalDate endDate;

        @OneToMany(.., mappedBy="period")
        Set<Tag> tags;
   }

2)  Class Tag {
          @Id
        private int tagId;

        @OneToMany(.. , mappedBy = "tag")
        Set<Transaction> transactions;

      @ManyToOne
      private Period period;
   }

3)  class Transaction {
    @Id
     private int transactionId;

      @ManyToOne
      private Tag tag;

}

Теперь то, что я хочу, для определенного периода, я хочу получить все связанные теги и все связанные транзакции. Но всякий раз, когда я запрашиваю, он всегда возвращает Period и Tag, но транзакции пустые.

Этот запрос возвращает только period / tag. Транзакция пуста.

"from Period where startDate = :start and endDate =: endDate"

{
   { 
         period  {
              tags: {
                   tag: {
                         transactions: []          //empty here. It should show value
                  } 
             }  
        }
   }

Но когда я использовал объединение, он получит значения в парах

  "from Period pd, Tag tag, Transaction tr  JOIN pd.tags JOIN tag.transactions JOIN tr where startDate = :start and endDate =: endDate and pd = tag.period and tag  = transaction.tag"  

like:

{
   {   period -1   },
   {   tag -1  },
   {   transaction -1 },
   {   period -1  },
   {   tag -1  },
   {   transaction-2 },
}

Я хочу получить результат как 1 со значением транзакции. Пожалуйста, помогите мне. Также он отлично работает с базой данных H2, но когда я перешел на postgress, он не работает должным образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...