comment écrire Hibernate Critères à prendre des objets imbriqués par Projection Liste?

Je veux prendre des valeurs de l'objet Imbriqué dans Hibernate Liste de Projection. - Je avoir des Pojo "Charge" et "Tarif" de la classe avec OneToMany et relations ManyToOne.

Mon exemple de code est comme suit:

Charge

private String id;              
private Tariff tariff;
private String name;

@OneToMany(cascade=   {CascadeType.ALL},fetch=FetchType.EAGER,mappedBy="charge")
public Tariff getTariff() {
    return tariff;
}
public void setTariff(Tariff tariff) {
    this.tariff = tariff;
}

Tarif

private String id;
private String amount;
private Charge charge;

@ManyToOne(cascade={CascadeType.PERSIST},fetch=FetchType.EAGER)
@JoinColumn(name="charge_id")
public Charge getCharge() {
    return charge;
}
public void setCharge(Charge charge) {
    this.charge = charge;
}

Je veux profiter de la valeur du montant du tarif en charge de modèle.

J'écris critères sql qui fonctionne ie.

SÉLECTIONNEZ tarif.montant,la charge.nom DE charge,le tarif OÙ
charge.nom LIKE '%';

et j'ai essayé avec les critères suivants.

Criteria cr = getSession().createCriteria(Charge.class,"charge")
    .createAlias("charge.tariff","tariff")
    .setProjection(Projections.projectionList()
    .add(Projections.property("chargeName"),"chargeName")
    .add(Projections.property("id"),"id")
    .add(Projections.property("tariff.amount"),"amount"))
    .add(Restrictions.like("chargeName", name+"%"))
    .setResultTransformer(Transformers.aliasToBean(Charge.class));
     return  cr.list(); 

Je viens de vérifier avec restclient elle renvoie la Valeur null. Comment écrire pour les Critères de la présente Requête sql ?

OriginalL'auteur Aravinthan K | 2015-03-10