jjzjj

java - Hibernate HQL查询根据childID获取父+子

我有一个具有多个@onetomany关系的对象,我需要查询父对象的属性以及子对象的属性。我似乎无法完成它。例如,我需要一个查询来查看父对象,其中父对象的名字是“John”并且child最喜欢的颜色是蓝色。希望这是有道理的。复杂化的原因似乎是child在列表中,而不是在@onetoone关系中。PARENT:@Entity@Table(name="Parent")publicclassParent{@Id@Column(name="ID")@GeneratedValue(strategy=GenerationType.AUTO,generator="parent_gen")@Sequen

java - HQL:查询java.util.Map的值

我试过这个hql查询,但是当我在以下查询中使用actProp[:key]=:value时它会抛出UnsupportedOperationException:选择mapactionProperties中包含值对x,y或z,y的所有Action:Queryquery=getSession().createQuery("selectafromActiona"+"joina.actionPropertiesactProp"+"where(index(actProp)=:key"+"andactProp[:key]=:value)"+"or(index(actProp)=:key2"+"anda

java - 每个子类继承关系表 : How to query against the Parent class without loading any subclass ? ?? ( hibernate )

假设一个每个子类继承关系的表可以在下面描述(来自wikibooks.org-参见here)注意父类不是抽象的@Entity@Inheritance(strategy=InheritanceType.JOINED)publicclassProject{@Idprivatelongid;//Otherproperties}@Entity@Table(name="LARGEPROJECT")publicclassLargeProjectextendsProject{privateBigDecimalbudget;}@Entity@Table(name="SMALLPROJECT")publi

java - 将带有 subselect in select 的 SQL 转换为 HQL

我有以下SQL在转换为HQL时遇到问题。NPE被抛出——我认为这与SUM函数有关。另外,我想对子选择别名进行排序——这可能吗?SQL(子查询):SELECTq.title,q.author_id,(SELECTIFNULL(SUM(IF(vote_up=true,1,-1)),0)FROMvoteWHEREquestion_id=q.id)ASvotecountFROMquestionqORDERBYvotecountDESCHQL(不工作)SELECTq,(SELECTCOALESCE(SUM(IF(v.voteUp=true,1,-1)),0)FROMVotevWHEREv.que

java - 如何计算 Hibernate 查询语言中的行数?

我试图只获取返回的行数,而不是表中的所有结果。我看到可以这样做:((Integer)session.createQuery("selectcount(*)from....").iterate().next()).intValue()但是当试图以整数格式存储这个查询时(它说不能从QuerytoInteger转换)我正在使用动态查询,其中的值将在查询下方提及,如下所示theQuery="selectcount(*)fromTHMasthm"+"jointhm.TMCastmc"+"jointmc.TIMCCastimcc"+"wherethm.Qid=:Qidandthm.Cv=:Cvan

java - 寻找 HQL 构建器(Hibernate 查询语言)

我正在为HQL寻找建筑商在java。我想摆脱这样的事情:StringBuilderbuilder=newStringBuilder().append("selectstockfrom").append(Stock.class.getName()).append("asstockwherestock.id=").append(id);我宁愿有这样的东西:HqlBuilderbuilder=newHqlBuilder().select("stock").from(Stock.class.getName()).as("stock").where("stock.id").equals(id);

java - 哪些情况下我们使用native query和hql query?

我的问题是我不明白我怎么知道我必须使用native查询而不是hibernate查询语言? 最佳答案 当您不能使用HQL而不得不使用native时,至少有两个示例。1)Hibernate通常不适合在运行时执行DDL类型的操作:em.createNativeQuery("DROPTABLEIFEXISTSmytable").executeUpdate();2)我在这方面可能是错误的,但afaikHQL查询通常看起来像"fromMyClassasmc"。这意味着你必须在那里有一个类的字符串化名称,有时你必须在运行时确定类。反过来,这会将您

java - 是否可以从与 HQL 的多对多关联中批量删除?

如果是这样,语法是什么?假设我希望Foo的一个实例与Bar的所有实例无关:在SQL中,它只是:deletefromFOO_BAR_MAPPINGwhereFOO_ID=?在HQL中,我假设它会是这样的:deletefromBar.foosfooswherefoos.id=:id(其中foos是Foo的映射集合)但似乎是错误的,给出:org.hibernate.hql.ast.QuerySyntaxException:Bar.foosisnotmapped这甚至可以用HQL实现吗? 最佳答案 要回答您的具体问题,不,据我所知,HQL是

java - 在 HQL 查询中使用枚举列表作为参数

我有一个名为Band的实体具有属性Listgenres,Genres是一个具有以下值的枚举:ALTERNATIVE_ROCK("AlternativeRock"),CLASSIC_ROCK("ClassicRock"),HARD_ROCK("HardRock"),HEAVY_METAL("HeavyMetal"),PROGRESSIVE_ROCK("ProgressiveRock");我正在尝试创建一个返回List的方法使用List作为使用HQL的参数,类似于:publicListlistBandsPerGenres(Listgenres);但是我收到了一些我尝试过的HQL查询错误?以

java - Hibernate - 从单向 OneToMany 关系中获取集合的 HQL

我有一个具有单向一对多关系的类,如下所示:publicclassOrder{@OneToMany(cascade=CascadeType.ALL)@JoinTable(name="order_item",joinColumns={@JoinColumn(name="order_id")},inverseJoinColumns={@JoinColumn(name="item_id")})publicSetgetItems(){returnitems;}}通常获取此订单的内容很简单:Listitems=order.getItems();但无论出于何种原因,我可能想以某种方式过滤我的结果,并