I have two entities Order
and Customer
. Order
is
@Entity
@Table(name = "orders")
@Audited(targetAuditMode = RelationTargetAuditMode.AUDITED)
public class Order {
@Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
private Long id;
@Audited(withModifiedFlag = true)
private Double price;
@Temporal(TemporalType.TIMESTAMP)
private Calendar createdDate;
@OneToOne
private Customer customer;
public Order() {
}
...................
And Customer
entity :
@Entity
@Audited
public class Customer {
@Id
@GeneratedValue(generator = "increment")
@GenericGenerator(name = "increment", strategy = "increment")
private Long id;
private String fullname;
public Customer() {
}
Now I want to create query that selects Order
whose related customer
has given fullname
. For now I created such query:
auditReader.createQuery().forRevisionsOfEntity(Order.class, true, true).add(AuditEntity.property("customer.fullname").eq("Jhon Smith")).getSingleResult();
But it throws an exception:
org.hibernate.QueryException: could not resolve property: customer of: org.baeldung.HibernateAuditDemo.model.Order_AUD [select e__ from org.baeldung.HibernateAuditDemo.model.Order_AUD e__ where e__.customer.fullname = :_p0 order by e__.originalId.REV.id asc]
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:83)