Ja und nein. Sie können es verwenden, wenn Sie auch Setter bereitstellen.
Hibernate verwendet Java-Beans, um auf die Eigenschaften zuzugreifen. Daher müssen die Methoden getXXX()
und setXXX()
vorhanden sein. Der ganze Sinn des Builder-Musters (zumindest nach Joshua Bloch) besteht darin, unveränderliche Objekte ohne Setter zu erzeugen. Dies funktioniert nicht mit Hibernate (oder einem ORM), da sie die Setter verwenden, um die Werte zu injizieren.
Wenn Sie jedoch nur Ihre Builder-API als fließende Oberfläche verwenden möchten, um die Objekte zu generieren, während die Getter und Setter intakt bleiben, ist das natürlich kein Nachteil (abgesehen davon, dass es sich um eine Duplizierung von Code handelt).
BTW: Fluent Setter sind keine gültigen Java Beans Setter. Der Mechanismus Introspector
versteht sie nicht. Setter müssen einen ungültigen Rückgabetyp haben.