Здравствуй лорчик, есть серверное приложение, у которого класс User определяет класс пользователей. Допустим, при регистрации создается его инстанс, и в качевстве идентификатора используется this.hashCode() . При этом интсанс жил только во время сеанса, а потом уничтожался. Сейчас привязываю к данному серверу бд, сомнения меня накрывают, по поводу корректности использования данного идентификатора, в качестве и идентификатора поля в бд. Собственно, вот по чему:
1) Все мы знаем, что из равенства hashcode не следует равенство объектов. Т.е. теоритически, существует возможность создания очередного инстанса с уже существующим id. Насколько такая ситуация возможна практически? hashcode() не перегружен, и берется из коробки. Масштабы — несколько тысяч этих самых юзеров и более.
2) Раз в базе будет храниться то самое id, то очевидно его необходимо использовать и при дальнейших действиях с пользователем, т.е. id станет константой, что только усиливает проблему 1.
И еще не понятен такой аспект, стоит ли в программе во всяких хешмапах и списках хранить значения из бд, или же всю работу проводить непосредственно через запросы к бд. Думаю, хотя хранить все это достаточно ресурсоемко, но все равно оптимальнее, чем каждый раз обращаться к бд. Или как-то комбинировать? За отклики благодарен.