EclipseLink
Toplink
Hibernate
vs...
@Documented
@Target(TYPE)
@Retention(RUNTIME)
public @interface Entity {
String name() default "";
}
public interface EntityManager {
. . .
public void persist(Object o);
public void remove(Object o);
public <T extends Object> T find(Class<T> type, Object key);
public <T extends Object> T merge(T t);
. . .
}
public interface EntityManager {
. . .
public void persist(Object o);
public void remove(Object o);
public <T extends Object> T find(Class<T> type, Object key);
public void flush();
public void refresh(Object o);
public void clear();
public void detach(Object o);
public boolean contains(Object o);
public <T extends Object> T merge(T t);
. . .
}
– X has a Y
– X has many Y
– Y has many X
– X has many Y and Y has many X
X -> Entity type
Y -> DB type
public interface AttributeConverter<X,Y> {
public Y convertToDatabaseColumn (X attribute);
public X convertToEntityAttribute (Y dbData);
}
Not: @Converter notasyonu ile deklare edilir.
JOIN veya INNER JOIN