У меня возник такой запрос:
interface ConfAttendedDAO extends JpaRepository<User, Long> {
@Query("SELECT c, k, s, g, j FROM User u " +
"LEFT JOIN ClojureConf c ON c.UserId = :userId " +
"LEFT JOIN KotlinConf k ON k.UserId = :userId " +
"LEFT JOIN ScalaConf s ON s.UserId = :userId " +
"LEFT JOIN GroovyConf g ON g.UserId = :userId " +
"LEFT JOIN JavaConf j ON j.UserId = :userId " +
"WHERE u.Id = :userId")
List<Object[]> findAllByUserId(@Param("userId") long userId);
}
Hibernate заботится о сопоставлении строк сущностям. Каждый Object[]
имеет все 5 сущностей (или нулей) в качестве своих элементов. Выбор из User
- заставить запрос возвращать результаты. В противном случае, если первая таблица ничего не возвращает - весь запрос ничего не возвращает. Другим недостатком является то, что если одна таблица имеет 10 результатов, а другая имеет 1, таблица с меньшим количеством результатов дублирует их.
Что касается производительности (единственной целью сделать все это), то получение и обработка результатов в 4-5 раз быстрее, чем с 5 отдельными SELECT
s.
Следующая строка выдаст сообщение об ошибке:
t2.Text = "Maddsf";
Причина : поскольку метод FindControl () предоставляет вам веб-элемент управления. Однако txtID не является веб-элементом управления, и поэтому метод FindControl () не может вернуть веб-элемент управления (в данном случае TextBox ) и вместо этого возвращает [ 1110] нулевое значение . То, что вы присвоили свойству Text элемента управления Literal lt , является текстовым полем ввода, которое будет успешно отображаться браузером. Однако ASP.NET не знает, что элемент управления существует.
Решение : По этой же причине вы сможете получить ссылку на элемент управления в JavaScript. Примерно так:
document.getElementById("txtID").value = "Maddsf";