Abstrac+on
Level
in
real
life
Would
you
prefer
dealing
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.Setl.internal.Booking> bookingCollection =
new
java.util.HashSetmodel.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