Posts Tagged ‘java’

Интеграционные тесты с помощью dbunit и h2

В качестве основной СУБД в моем проекте используется postgres, но в тестах мы будем использовать in-memory БД h2. В этом случае нам не потребуется отдельной БД и все данные будут в оперативной памяти. После тестов не надо что-то подчищать.

How to get a value from lambda in Java?

If you reached this article, you most likely face one of these errors, and trying to get rid of one, get another: «variable used in lambda expression should be final or effectively final», «variable may be not initialized», «cannot assign a value to final variable». For my explanation I will use vaadin’s Window.

How to check if a row is present in vaadin’s grid after filtering

You probably have already tried out filtering feature in your vaadin project if you reached this article. Let’s understand how to get the list of items left in grid after filtering got applied.

Как передать из spring контроллера hateoas-совместимый список сущностей

Рассмотрим случай передачи из spring контроллера списка сущностей, когда использование создаваемых на лету методов интерфейса spring data почему-то не подходит. Использовать будем hateoas. В данном примере мы будем передавать на вход методу сущность с параметрами поиска в виде JSON, на основе этой сущности потом будет формироваться JPA спецификация для передачи в метод репозитория.

Как сравнить строки не алфавитно в JPA Specification, преобразовав их в числа

Вводная такая. В постгресе хранятся сущности Topic со строковым полем number, которое, тем не менее, гарантированно хранит число. Так уж получается по требованиям. Нужно при поиске сконструировать предикат, который будет сравнивать это числовое значение с другими числами, т.е. нам не подходит alphabetical comparison.

Что может пойти не так при использовании hashCode() класса java.lang.String?

В заметке будет рассказано о том, как работает метод hashCode(), как происходят коллизии и об опасности некорректного использования строк в качестве ключей.

Выставление идентификатора в сериализованном json при использовании spring data rest

Spring data rest является сравнительно новым проектом, одной из задач которого было избавить разработчика от необходимости писать во многих местах повторяющийся код. По какой-то причине авторы решили, что по умолчанию идентификатор (поле с аннотацией @Id) сущности из БД при сериализации выводить не надо, достаточно выводить его в пути. В данной заметке я расскажу, как это […]

Работа с ZonedDateTime в связке postgres + hibernate + spring data

ZonedDateTime — это класс восьмой джавы для представления даты/времени в определенной временнОй зоне. Это может быть запуск ракеты или выход нового релиза программы ZonedDateTime является immutable, т.е. при операциях с объектами класса создается новый объект. Postgres предоставляет все средства для работы с такими данными.

How to get user’s ZoneId in Vaadin

Actually, the task can be split in two subtasks: — retrieving offset in the form which Vaadin can provide (integer number of milliseconds); — formatting it so that we could construct ZoneId.

How to workaround out of sync values retrieved in the selection listener of a vaadin’s grid

If you compose a sophisticated application with vaadin, you may face an interesting issue: values in the grid got updated (say, via HTTP) and you can see them in the corresponding rows and columns, but you can’t read the actual values when selection listener gets triggered. I will tell how to workaround this issue.