[Homework] Java Spring Auto Mapping - 01. Problem - Game Store
Привет,
моля някой ако може да погледне кода ми и да каже защо не ми работят валидаторите (говорим мейл и парола). Предполагам грешката е една и съща, но гледах видеото от упражненията на Иван, гледах и примерите от слидо не успявам да намеря разлика.
https://www.dropbox.com/s/j3kbushhp9p9xd4/_01GameStore.zip?dl=0
Весело прекарване на празника на всички :)
всичко хубаво си има край. Като сложих ограниченията за игрите и се получи следния проблем при нова игра
като се сменяше на BigDecimal за цената и т.н.
хвърля ексепшъна при
За целта оправих така:
сега гърми с
не ми е ясно какво се случва....
Идеи?
Ето проекта към момента
https://www.dropbox.com/s/j3kbushhp9p9xd4/_01GameStore.zip?dl=0
Edit:
Видях че имам проблем с регекса на трейлъра и го оправих:
освен това оправих логиката при добавяне и редактиране на игра да поема цял линк и само края:
но все още грешката е същата...
Видях че от копи-пейст е останало в трейлъра на заглавието класовете... тъпо ама го оправих и него
сега пак се връщаме на грешките с Double...
малко гугъл и ето това е решението за големина и цена:
Весел празник ето линка на оправената задача :) Благодаря отново на всички отзовали се, без вас нямаше да успея :)
https://www.dropbox.com/s/j3kbushhp9p9xd4/_01GameStore.zip?dl=0
Опитваш се да изпълниш условието за прецизност (символи след десетичната зашетая) за цена и размер, предполагам. :)
Тука има няколко подхода, които могат да се разделят най-общо на две групи:
А. Валидация на входните данни
Б. Валидация на ниво ентити + сетване на колоните в таблиците на базата с желаната прецизност
В. Комбинация между горните две
Входните данни може да се проверяват на няколко места: при прочитането, при конструирането на DTO, при подаването за запис към базата. Най-смислено, според мен, в този случай е проверката да бъде в DTO, като всякакви грешки, открити там се връщат към потребителя.
Системата ще работи и при правилно създадено ентити с валидация на всяко поле - това е най-лесно за реализация и като цяло не е лоша идея да го има, дори и да правим валидацията на други нива (един вид застраховка, ако някой опита да persist-не обект, създаден по нестандартен начин).
По-трудно е за поддръжка, но това може да се адресира, ако си направим анотации за проверка на всяко поле и използваме само и единствено тях на всяко от нивата в програмата ни (напр. @Password, @Email, @URL и т.н., които да ползваме както за entity, така и за dto).
Относно задаването на прецизност за числата в базата през Hibernate, аз знам за 2 начина:
1. Използване BigDecimal тип в entiti-то и към него подбна анотация: @Column(precision = 10, scale = 1)
2. Сетване на типа директно чрез анотация, като това работи и за float/double, но не е добра идея, защото е един вид хардкодване и може да не работи на друга база : @Column(columnDefinition = "DOUBLE(10,1)")
Благодаря че го видя
добавих това :) мисля че е най-лесно
Hello guys play this jumble solver game.
Nice Homework.