Les niveaux d’abstraction dans la vrai vie
Préférez vous utiliser ceci
ou cela ?
package
dk.tigerteam.mdsd.demo.model.internal;
@javax.persistence.Entity
@javax.persistence.Table(name =
"Customer")
public class Customer extends
dk.tigerteam.mdsd.demo.model.AbstractEntit
y {
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.Addr
ess 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.persiste
nce.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.Cust
omer 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.AbstractEntit
y { 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.Addr
ess withStreet( String street)
{ setStreet(street); return
(dk.tigerteam.mdsd.demo.model.internal.Add
ress) this; public
dk.tigerteam.mdsd.demo.model.internal.Addr
ess withZipCode( String zipCode)
{ setZipCode(zipCode); return
(dk.tigerteam.mdsd.demo.model.internal.Add
ress) this; public
dk.tigerteam.mdsd.demo.model.internal.Addr
ess withCity(String city) { setCity(city);
return
(dk.tigerteam.mdsd.demo.model.internal.Add
ress) this; } public
dk.tigerteam.foundation.bean.mdsd.runtime.
RuntimeMetaClazz getMetaType() { return
metaType; }
}
, targetEntity =
dk.tigerteam.mdsd.demo.model.internal.Book
ing.class, mappedBy = "customer", fetch =
javax.persistence.FetchType.LAZY)
private
java.util.Set.internal.Booking> bookingCollection = new
java.util.HashSetodel.internal.Booking>();
public String getName() { } return name;
public void setName(String parameter) {
this.name = parameter; }
public
dk.tigerteam.mdsd.demo.model.internal.Addr
ess getAddress() { if (address instanceof
org.hibernate.proxy.HibernateProxy) {
return time;
public void setTime(java.util.Date
parameter) {
this.time = parameter
43