java - Hibernate generates error SQL like ".=." -
i have 3 tables in oracle db relationship @manytomany. have 2 significant tables , 1 mappings.
i create classes name (if want can show classes) named entities, keywords (i understand naming not correct not project optimizations).
i use hibernate version 4.3.4.
i write query this:
session = hibernateutil.getsessionfactory().opensession(); string sql = "select distinct r rules r, entities e " + " r.entities = e.rules " + " , e in :entities "; query query = session.createquery(sql); query.setparameterlist("entities", entitieslist); list<rules> ruleslist = query.list();
but! hibernate generate strange sql
hibernate: select rules0_.rule_id rule_id1_11_, rules0_.rule rule2_11_ rules rules0_, entities entities1_, rules_entities entities2_, entities entities3_, rules_entities rules4_, rules rules5_ rules0_.rule_id=entities2_.rule_id , entities2_.entity_id=entities3_.entity_id , entities1_.entity_id=rules4_.entity_id , rules4_.rule_id=rules5_.rule_id , .=. , ( entities1_.entity_id in ( ? , ? , ? , ? ) )
when try execute query receive error: java.sql.sqlexception: ora-00936: missing expression
when copy query oracledevepoler didn`t expression "and .=.". without query executes correct.
what doing wrong ?
maybe used bad join in query? context conclude should use that:
"select distinct r rules r inner join r.entities e " + " e in :entities ";
Comments
Post a Comment