Skip to main content
edited some parts to be more readbale
Source Link
Yvo
  • 19.4k
  • 11
  • 75
  • 91

I want to take Nested object values in Hibernate Projection List. I having Pojo 'Charge' and 'Tariff' class with OneToMany and ManyToOne relations.

My Samplesample code is as following:

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; } 

Tariff

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; } 

I want to take amount value from tariff by charge model.

I write sql criteria that works ie.

SELECT tariff.amount,charge.name FROM charge,tariff WHERE charge.name LIKE 's%';

and i tried with following criteria.

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(); 

I just check with restclient it returns null Value. How to write for Criteria for this sql Query ?

I want to take Nested object values in Hibernate Projection List. I having Pojo 'Charge' and 'Tariff' class with OneToMany and ManyToOne relations.

My Sample code is as following

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; } 

Tariff

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; } 

I want to take amount value from tariff by charge model.

I write sql criteria that works ie.

SELECT tariff.amount,charge.name FROM charge,tariff WHERE charge.name LIKE 's%';

and i tried with following criteria.

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(); 

I just check with restclient it returns null Value. How to write for Criteria for this sql Query ?

I want to take Nested object values in Hibernate Projection List. I having Pojo 'Charge' and 'Tariff' class with OneToMany and ManyToOne relations.

My sample code is as following:

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; } 

Tariff

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; } 

I want to take amount value from tariff by charge model.

I write sql criteria that works ie.

SELECT tariff.amount,charge.name FROM charge,tariff WHERE charge.name LIKE 's%';

and i tried with following criteria.

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(); 

I just check with restclient it returns null Value. How to write for Criteria for this sql Query ?

I want to take Nested object values in Hibernate Projection List. I having Pojo 'Charge' and 'Tariff' class with onetomanyOneToMany and manytoone relationManyToOne relations.My

My Sample code follows belowis as following

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; } 

Tariff

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; } 

I want to take amount value from tariff by charge model.

I write sql criteria that works ie.

SELECT tariff.amount,charge.name FROM charge,tariff WHERE charge.name LIKE 's%';

and i tried with following criteria.

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(); 

I just check with restclient it returns null Value. How to write for Criteria for this sql Query ?

I want to take Nested object values in Hibernate Projection List. I having Pojo 'Charge' and 'Tariff' class with onetomany and manytoone relation.My Sample code follows below

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; } 

Tariff

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; } 

I want to take amount value from tariff by charge model.

I write sql criteria that works ie.

SELECT tariff.amount,charge.name FROM charge,tariff WHERE charge.name LIKE 's%';

and i tried with following criteria.

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(); 

I just check with restclient it returns null Value. How to write for Criteria for this sql Query ?

I want to take Nested object values in Hibernate Projection List. I having Pojo 'Charge' and 'Tariff' class with OneToMany and ManyToOne relations.

My Sample code is as following

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; } 

Tariff

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; } 

I want to take amount value from tariff by charge model.

I write sql criteria that works ie.

SELECT tariff.amount,charge.name FROM charge,tariff WHERE charge.name LIKE 's%';

and i tried with following criteria.

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(); 

I just check with restclient it returns null Value. How to write for Criteria for this sql Query ?

Source Link
Aravinthan K
  • 1.9k
  • 2
  • 20
  • 24

how to write Hibernate Criteria to take nested objects by Projection List?

I want to take Nested object values in Hibernate Projection List. I having Pojo 'Charge' and 'Tariff' class with onetomany and manytoone relation.My Sample code follows below

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; } 

Tariff

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; } 

I want to take amount value from tariff by charge model.

I write sql criteria that works ie.

SELECT tariff.amount,charge.name FROM charge,tariff WHERE charge.name LIKE 's%';

and i tried with following criteria.

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(); 

I just check with restclient it returns null Value. How to write for Criteria for this sql Query ?