with this or that ? package dk.tigerteam.mdsd.demo.model.internal; @javax.persistence.Entity @javax.persistence.Table(name = "Customer") public class Customer extends dk.tigerteam.mdsd.demo.model.AbstractEnti ty { private static final long serialVersionUID = 2098912667L; @javax.persistence.Basic @javax.persistence.Column(name = "name", nullable = false) private String name; @javax.persistence.OneToOne(cascade = { javax.persistence.CascadeType.MERGE, javax.persistence.CascadeType.PERSIST, javax.persistence.CascadeType.REFRESH} , fetch = javax.persistence.FetchType.LAZY) @javax.persistence.JoinColumn(name = "addressId") @org.hibernate.validator.NotNull private dk.tigerteam.mdsd.demo.model.internal.Add ress address; @javax.persistence.OneToMany(cascade = { javax.persistence.CascadeType.MERGE, javax.persistence.CascadeType.PERSIST, javax.persistence.CascadeType.REFRESH} @javax.persistence.Basic @javax.persistence.Column(name = "comment", nullable = false) private String comment; @javax.persistence.Basic @javax.persistence.Temporal(javax.persist ence.TemporalType.TIMESTAMP) @javax.persistence.Column(name = "time", nullable = false) private java.util.Date time; @javax.persistence.Basic @javax.persistence.Column(name = "timeslot", nullable = false) private int timeslot; @javax.persistence.ManyToOne(cascade = { javax.persistence.CascadeType.MERGE, javax.persistence.CascadeType.PERSIST, javax.persistence.CascadeType.REFRESH} , fetch = javax.persistence.FetchType.LAZY) @javax.persistence.JoinColumn(nullable = false, name = "customerId") private dk.tigerteam.mdsd.demo.model.internal.Cus tomer customer; public String getComment() { return comment; public void setComment(String parameter) { } this.comment = parameter; public java.util.Date getTime() { package dk.tigerteam.mdsd.demo.model.internal; @javax.persistence.Entity @javax.persistence.Table(name = "Address") public class Address extends dk.tigerteam.mdsd.demo.model.AbstractEnti ty { private static final long serialVersionUID = 1697028161L; @javax.persistence.Basic @javax.persistence.Column(name = "street", nullable = false) private String street; @javax.persistence.Basic @javax.persistence.Column(name = "zipCode", nullable = false) private String zipCode; @javax.persistence.Basic @javax.persistence.Column(name = "city", nullable = false) private String city; public String getStreet() { return street; } public void setStreet(String parameter) { this.street = parameter; } public String getZipCode() { return zipCode; public void setZipCode(String parameter) { this.zipCode = parameter; } public String getCity() { return city; } public void setCity(String parameter) { this.city = parameter; } public dk.tigerteam.mdsd.demo.model.internal.Add ress withStreet( String street) { setStreet(street); return (dk.tigerteam.mdsd.demo.model.internal.Ad dress) this; public dk.tigerteam.mdsd.demo.model.internal.Add ress withZipCode( String zipCode) { setZipCode(zipCode); return (dk.tigerteam.mdsd.demo.model.internal.Ad dress) this; public dk.tigerteam.mdsd.demo.model.internal.Add ress withCity(String city) { setCity(city); return (dk.tigerteam.mdsd.demo.model.internal.Ad dress) this; } public dk.tigerteam.foundation.bean.mdsd.runtime .RuntimeMetaClazz getMetaType() { return metaType; } } , targetEntity = dk.tigerteam.mdsd.demo.model.internal.Boo king.class, mappedBy = "customer", fetch = javax.persistence.FetchType.LAZY) private java.util.Set<dk.tigerteam.mdsd.demo.mode l.internal.Booking> bookingCollection = new java.util.HashSet<dk.tigerteam.mdsd.demo. model.internal.Booking>(); public String getName() { } return name; public void setName(String parameter) { this.name = parameter; } public dk.tigerteam.mdsd.demo.model.internal.Add ress getAddress() { if (address instanceof org.hibernate.proxy.HibernateProxy) { return time; public void setTime(java.util.Date parameter) { this.time = parameter