Привет У меня есть namedquery, как указано ниже, но когда я его выполняю, он возвращает мне весь объект, а не только поля, которые я запросил. Есть ли что-то, что мне не хватает, когда я хочу вернуть только столбец этого объекта. Заранее спасибоNamedQuery возвращающий объект вместо столбца
@NamedQueries ({
@NamedQuery(
name="findSubmissionForSubmissionRowUniqueBankId",
query="SELECT o.submission FROM SubmissionRow o WHERE o.uniqueBankId = :uniqueBankId",
hints={@QueryHint(name=QueryHints.CACHE_USAGE, value=CacheUsage.CheckCacheThenDatabase),
@QueryHint(name=QueryHints.QUERY_RESULTS_CACHE_SIZE, value="1000"),
@QueryHint(name=QueryHints.QUERY_RESULTS_CACHE_EXPIRY, value="18000")
})
})
СКП, что excecutes для этого запроса является
EJBQueryImpl(ReadObjectQuery(name="findSubmissionForSubmissionRowUniqueBankId" referenceClass=SubmissionRow sql="SELECT ID, ARCHIVE_BANK_ID, EXTERNAL_SOURCE_DETAILS,UNIQUE_BANK_ID, SUBMISSION_ID FROM FE_TEST.SUBMISSION_ROW WHERE (UNIQUE_BANK_ID = ?)"))
Я определил объединение, как folllows
@ManyToOne
@JoinColumn(name = "SUBMISSION_ID", referencedColumnName = "ID")
private Submission submission;
Я понимаю, что 'o.submission' является bean-компонентом, а не примитивным/String/Date, правильно? В этом случае вы получите объект «Представление», как было запрошено (позже вы сможете получить идентификатор из его атрибутов). Возможно, вы можете попробовать 'o.submission.id', если это то, что вы хотите. – SJuan76
Да представление - это bean, но даже если я пытаюсь получить свойство non bean, оно все равно возвращает весь объект представления, а не только эту porperty. – user1107753
Вы пробовали 'SELECT o.submission.theProperty ...'? – SJuan76