Мне нужно вернуть java objects из моей базы данных по отдельному полю. В моей базе данных У меня есть Страна, Штат, Город. Теперь у меня есть 2 записи, где они имеют одинаковые данные в полях, но я хочу вернуть только отдельные состояния в стране.MySQL Java, получающий объекты по отдельному полю
Чтобы уточнить - у меня есть две записи с одной и той же страной и штатом. Например, я хочу только дважды вернуться к штату вместо Вашингтона. Тем не менее, мне нужен объект, а не возврат строки.
Мой запрос:
SELECT DISTINCT r FROM Roster r where r.state = :state AND r.country = :country
Что происходит, он будет возвращать все дубликаты, так как объекты не различаются, где я просто хочу одну из каждого?
Прошу прощения, если я был не очень ясен.
Любая помощь была бы принята с благодарностью!
Редактировать: Мне нужны объекты, потому что я использую их для заполнения таблицы результатов.
edit2: Моя создать таблицу:
CREATE TABLE `roster` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`country` varchar(45) NOT NULL,
`state` varchar(45) NOT NULL,
`city` varchar(45) DEFAULT NULL,
`clientName` varchar(45) NOT NULL,
`tDomain` varchar(45) NOT NULL,
`tSubDomain` varchar(45) DEFAULT NULL,
`tReferenceId` varchar(45) DEFAULT NULL,
`startDate` date DEFAULT NULL,
`endDate` date DEFAULT NULL,
`startTime` time DEFAULT NULL,
`endTime` time DEFAULT NULL,
`designation` varchar(45) DEFAULT NULL,
`role` varchar(45) DEFAULT NULL,
`name` varchar(45) NOT NULL,
`surname` varchar(45) NOT NULL,
`mobileNumber` varchar(45) DEFAULT NULL,
`officeNumber` varchar(45) DEFAULT NULL,
`email` varchar(45) DEFAULT NULL,
`availability` tinyint(1) NOT NULL,
`comments` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1
Все, что до tReferenceID, вероятно, будет обычным явлением. Остальное будет уникальным. Я играю с идеей разделить стол на две части. Но это потребует значительного перезаписи.
вы используете спящий режим или JPA? –
Я использую JPA. – Matt
У меня была идея, основанная на вашем старом ответе @Alejandro. Поскольку я использую список строк для заполнения моего раскрывающегося списка, вместо этого я использую набор. Я должен буду его протестировать. Спасибо за тк в правильном направлении (надеюсь) – Matt