Tengo un objeto persistente (Acción) y un modelo de datos generado automáticamente (Acción_). Al tener un objeto de clase Action y una instancia de SingularAttribute, ¿es posible obtener el campo correspondiente al SingularAttribute dado?¿Cómo obtener el valor mapeado de SingularAttribute de un objeto persistente?
Necesito una función como esta:
public S getValue(T object,SingularAttribute<T,S> attribute);
Mi clase de entidad (Action.java):
@Entity
@Table(name="ACTION")
public class Action implements Serializable {
private long id;
private String name;
public Action() {
}
@Id
@Column(unique=true, nullable=false, precision=6)
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
@Column(length=50)
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
Mi clase meta modelo (Action_.java):
@StaticMetamodel(Action.class)
public class Action_ {
public static volatile SingularAttribute<Action, Long> id;
public static volatile SingularAttribute<Action, String> name;
}
APP no está ahí para proporcionar valores de los campos de un objeto, que es persistir/recuperar el objeto. Como dice la respuesta, usa la reflexión de Java. – DataNucleus