Да и нет.Вы можете использовать его, если вы также предоставляете установщики.
Hibernate использует Java Beans для доступа к свойствам, поэтому он использует присутствующие методы getXXX()
и setXXX()
.Весь смысл паттерна строителя (по крайней мере, согласно Джошуа Блоху) заключается в создании неизменных объектов без установщиков.Это не будет работать с Hibernate (или любым ORM), так как они используют сеттеры для ввода значений.
Но если вы просто хотите использовать API-интерфейс своего конструктора в качестве свободного интерфейса для генерации объектов, оставляя ихгеттеры и сеттеры не повреждены, тогда, конечно, в этом нет никакого вреда (кроме того, что это дублирование кода).
Кстати: беглые сеттеры не являются действительными сеттерами Java Beans.Механизм Introspector
не понимает их.Сеттеры должны иметь тип возврата void.