我正在尝试使用NHibernate查询我的一个域类上的IList属性。这是一个简单的例子来演示:publicclassDemo{publicDemo(){this.Tags=newList();}publicvirtualintId{get;set;}publicvirtualstringName{get;set;}publicvirtualIListTags{get;set;}}像这样映射:而且我能够很好地保存和检索。现在查询Tags属性包含指定值的域类的实例:vardemos=this.session.CreateCriteria().CreateAlias("Tags","t")
我有我的nHibernate设置并且可以正确地使用QueryOver来处理大多数查询,但是,每当我尝试执行HQLCreateQuery时,我都会收到实体未映射的异常。我可以使用QueryOver确认同一个实体工作正常。注意:我使用的是fluentnHibernate有什么想法会导致这种情况吗? 最佳答案 如果您在映射中禁用了自动导入(),那么您将不得不在查询中的任何地方使用完全限定的类名,不合格的类名将不起作用。否则,启用自动导入。Conventions.Setup(x=>{x.Add(FluentNHibernate.Conven
我们有一个Java网络应用程序,它具有提供REST资源的hibernate后端。现在我们面临的任务是实现一个由我们的get请求中的查询参数控制的通用搜索:some/rest/resource?name_like=foo&created_on>=2012-09-12&sort_by_asc=something或类似的。我们不想预定义所有可能的参数(name、created_on、某事)我们不想分析请求字符串来获取控制字符(如>=)我们也不想实现自己的语法来反射(reflect)诸如_eq_like_goe等内容(作为控制字符的替代或补充)是否有某种框架可以帮助将GET请求参数映射到数据库
我有一个POJO类,它包括:-持久属性,-transient特性。在编写HQL时,我同时考虑了两者:持久性和transient性。IE。HQL类似selectpersistent_properties,transient_propfromPojo_classname正确吗?我可以给transient变量写@Basic注解吗? 最佳答案 不,这是不正确的。HQL查询转换为SQL。@Transient属性不在数据库中,因此SQL查询将无法查询该属性。@Basic和@Transient是矛盾的。第一个告诉“这个属性是持久的”,第二个告诉“
我正在使用Hibernate注释来持久化我的类。目前我正在使用以下策略来映射类我有一个抽象类,它是父类,我有两个继承自它的子类爸爸妈妈。我是这样映射的:@MappedSuperclasspublicabstractclassParent{privateintage;privateStringname;...}另外两个类是这样声明的:@EntitypublicClassFatherextendsParent{privatebooleanhaveMustash;...}所以基本上场景是“每个类一个表”。现在我想创建一个HibernateHQL语句来更新parent的年龄,无论其类型如何(母
HibernateUnUniqueifyacolumnintable(已解决)我希望一个字段集本身是非唯一的,但与另一个字段组合是唯一的,我得到了这个有两列(复合主键)的表;id(主键)和object_proxy_id(主键),这正是我所需要的,但是hibernate将object_proxy_id设置为自身唯一,以便表中的值不能重复,我需要此列来接受重复值。因为每个用户都有自己的对象代理,而这些代理不一定是唯一的。这就是我想要实现的目标:|-------------------------------||tbl_object_proxy||----------------------
总结在Hibernate中,我试图从主类的子类中LEFTJOINFETCH属性,其中多个子类具有同名的属性。不过,Hibernate只获取第一个子类的链接实体,而不是其他的。背景我正在基于Hibernate的系统中对基因组特征(基因、转录本和外显子)和遗传变异进行建模。基因、转录本和外显子都是GenomicFeature的子类,每个变体都可以具有零到多的GenomicFeatures。反过来,基因具有零对多的转录本——外显子也是如此——而转录本具有零对多的基因和外显子。这些关系中的每一个都是延迟获取的。但有时,我想获取一个变体及其所有基因组特征,以及与直接基因组特征相关联的所有基因组特
我在父实体和子实体之间有一个一对多的映射。现在我需要找到与parent列表中每个parent关联的child的数量。我正在尝试使用HQL执行此操作,但我不确定如何在其中获取parent名单。另外,我不知道如何返回实体本身而不仅仅是它的ID。我当前的HQL查询是:selectnewmap(parent.idasparentId,count(*)aschildCount)fromParentparentleftjoinparent.childrenchildrengroupbyparent.id但这只会返回ID,不会过滤特定的parent。编辑根据Pascal的回答,我将查询修改为sele
在HibernateHQLorderby子句中是否有一种简单的方法来处理SQL注入(inject)。命名参数显然不适用于它。编辑:请随意发布您处理此问题的方法。我想看看其他人的解决方案并从中学习。感谢任何建议和解决方案。 最佳答案 您可以使用HibernatecriteriaAPI而不是HQL。标准API检查订单标准是否引用有效属性。如果你尝试这样的事情:publicvoidtestInjection(){StringorderBy="this_.typedesc,type";Criteriacrit=this.getSession
我有一个奇怪的业务需求。我们有多个不相关的实体类型,它们需要显示在一个统一的列表中,其中包含来自实体的一些基本信息,并按保证它们都具有的唯一字段DATE进行排序。这些实体可能在也可能不在同一个数据库中。结果集需要可分页。是否有通过Criteria、HQL或一些理智手段实现这一目标的可行方法? 最佳答案 通常您会让所有这些类扩展公共(public)基类并使用多态Hibernate查询。从你的描述来看,这似乎不可行。当然,如果你想采用Hibernate方式,你必须首先获取每个不相关表的大小,确定请求页面中的记录位于哪个表中(或者可能在多