java - How to use Spring + Hibernate query for join table -


i using spring mvc + hibernate + mysql running on tomcat intellij editor

i want query hql mysql this

select * customer c left join person p on p.idperson = c.idcustomer 

it's not working it's return error this

http status 500 - request processing failed; nested exception org.hibernate.hql.internal.ast.querysyntaxexception: path expected join! [from com.springapp.mvc.model.customer c left join person p on p.idperson = c.idcustomer] 

here's database

    create table `customer` (   `idcustomer` int(11) not null auto_increment,   `name` varchar(45) default null,   primary key (`idcustomer`),   constraint `customer person` foreign key (`idcustomer`) references `person` (`idperson`) on delete no action on update no action ) engine=innodb default charset=utf8;      create table `person` (   `idperson` int(11) not null auto_increment,   `country` varchar(45) default null,   primary key (`idperson`) ) engine=innodb default charset=utf8; 

relationship onetoone customer.idcustomer person.idperson

here's code

model.customer.java

@entity @table(name = "customer") public class customer {     private int idcustomer;     private string name;      @id     @column(name = "idcustomer")     public int getidcustomer() {         return idcustomer;     }      public void setidcustomer(int idcustomer) {         this.idcustomer = idcustomer;     }      @basic     @column(name = "name")     public string getname() {         return name;     }      public void setname(string name) {         this.name = name;     }      @override     public boolean equals(object o) {         if (this == o) return true;         if (o == null || getclass() != o.getclass()) return false;          customer customer = (customer) o;          if (idcustomer != customer.idcustomer) return false;         if (name != null ? !name.equals(customer.name) : customer.name != null) return false;          return true;     }      @override     public int hashcode() {         int result = idcustomer;         result = 31 * result + (name != null ? name.hashcode() : 0);         return result;     } } 

model.person.java

@entity @table(name = "person") public class person {     private int idperson;     private string country;      @id     @column(name = "idperson")     public int getidperson() {         return idperson;     }      public void setidperson(int idperson) {         this.idperson = idperson;     }      @basic     @column(name = "country")     public string getcountry() {         return country;     }      public void setcountry(string country) {         this.country = country;     }      @override     public boolean equals(object o) {         if (this == o) return true;         if (o == null || getclass() != o.getclass()) return false;          person person = (person) o;          if (idperson != person.idperson) return false;         if (country != null ? !country.equals(person.country) : person.country != null) return false;          return true;     }      @override     public int hashcode() {         int result = idperson;         result = 31 * result + (country != null ? country.hashcode() : 0);         return result;     } } 

and implement dao.customerdaoimpl.java

public list<customer> listcustomers() {     session session = this.sessionfactory.getcurrentsession();     list<customer> customerslist = session.createquery("from customer c left join person p on p.idperson = c.idcustomer").list();      (customer c : customerslist) {         logger.info("customer list::" + c);     }      return customerslist; } 

im new java developer , poor in english please me thank you

hibernate/jpa build kind of database abstraction layer. therefore works entity (instead of tables) , relations (@manytoone...) entities instead of explicite joining ids table columns.

@entity person {    @id    long id;    ...    @onetoone    @joincolumn(name = "customer_fk")       customer customer;    //no other customer_fk mapping!!! }   @entity customer {   @id   long id;  } 

now can select c person p left join p.customer c


Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

jquery - javascript onscroll fade same class but with different div -