jjzjj

java - org.hibernate.hql.internal.ast.QuerySyntaxException : is not mapped [from Team]

我正在开发小型SpringMVCCRUD应用程序。遇到一些奇怪的问题:配置类:packagesbk.spring.simplejc.config;importjava.util.Properties;importjavax.annotation.Resource;importjavax.sql.DataSource;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.ComponentScan;importorg.springframework.co

java - 这个 HQL 查询有什么问题?

我是遇到了hibernate错误还是遇到了我没有看到的错误:selectenty.numberfromEntityAliasNameentywhereenty.myIdin(selectcons.myIdfromConsensconswherecons.numberin(selectord.numberfromOrdersordwhereord.customer=:customerandord.creationDate我得到的是以下内容:org.hibernate.util.StringHelper.root(StringHelper.java:257)Causedby:java.la

java - HQL 查询连接表

我正在使用hibernate连接到我的项目数据库。我想要一个查询,从我的数据库中获取带有特定语言描述和名称的产品。我拥有的参数是语言的简称,因此首先我必须获取语言的ID,然后获取所需语言的文本。我尝试了以下hql查询,但没有成功。fromProductsaspwherep.productlanguages.languages.shortnamelike'eng'这是数据应来自的数据库部分的图像:我已经通过sql查询得到了想要的结果,但我似乎无法让它在hibernate状态下工作。但我更愿意在hql中执行此操作。SELECT*FROMproductspINNERJOINproductla

java - Hibernate 二级查询缓存不工作急切获取

在NHibernateProfiler中,我观察到当我对关联使用预取时,在HQL查询中使用“左连接获取”或在标准查询中使用.SetFetchMode()时,查询不再缓存在查询缓存中。事实上,据我所知,只有非常基本的查询被缓存。如果有人可以让我深入了解哪些查询被缓存,哪些不被缓存,我将标记为答案。如果有任何不同,我正在使用Memcached...。对于查询密集型系统,L2缓存是否有更好的选择?我发现这相当具有挑战性-如果我不使用预先加载,我会遇到N+1问题(但使用缓存),如果我使用预先加载,我会从数据库中获取所有实体,但没有缓存。似乎有一条很粗的分界线,两种策略都有性能改进,但两种策略都

java - Hibernate 多态查询

我有两个类,Person和Company,派生自另一个类Contact。它们在两个表(Person和Company)中以多态方式表示。简化的类如下所示:publicabstractclassContact{Integerid;publicabstractStringgetDisplayName();}publicclassPersonextendsContact{StringfirstName;StringlastName;publicStringgetDisplayName(){returnfirstName+""+lastName;}}publicclassCompanyexten

java - 控制 Hibernate EnumType.STRING 属性的排序顺序

目前,我的项目使用@Enumerated(EnumType.ORDINAL),所以当我按此列排序时,它是根据枚举中的顺序排序的,这工作正常。但我需要向enum添加一些额外的值,这些值需要插入到枚举值列表的不同位置,不能只添加到底部以保持正确的排序顺序。如果我这样做,我的数据库就会乱七八糟。我将不得不编写一些脚本来将所有这些序数值转换为正确的新序数。有可能以后必须添加更多状态。由于我必须修复数据库中的所有数据,因此我希望只需执行一次,因为这将是一项艰巨的任务。所以我正在考虑切换到EnumType.STRING,这样就不必再次重新映射数据库中的序数值。但是如果我这样做,那么我该如何正确排序

java - HQL 查询是否总是命中数据库并获得结果?

我正在经历hibernate以及何时使用Criteria与HQL的情况,我的理解是使用Hibernate,每次我们通过Criteria或查询数据库时>HQL在这两种情况下,hibernate都会获取结果集并放入内存中,然后当我们再次调用该查询时,将从内存中获取数据而不是访问该数据库,我的理解是否正确?您还可以从下面提到的问题的评论中看到,有人建议HibernateCriteria将从session中获取数据,而HQL将始终访问并访问数据库,因此对HQL查询的任何多次调用都将访问并访问数据库,并且如果是这种情况,那么HQL会导致比解决问题更多的问题。请就此提出建议,因为我对这种情况有点困

java - 如何避免 Hibernate 中的旧式外部连接(+)?

我写过这样的HQL查询:SELECTaFROMAaLEFTJOINa.bwhere...Hibernate生成这样的sql查询:SELECTaFROMAaLEFTJOINa.bwherea.b_id=b.id(+)但是当我写这样的东西时:SELECTaFROMwherea.b.id>5它生成SQL:SELECTa.*FROMAbcrossjoinBbwhereb.id>5所以当我结合这些方法时,我收到Oracle错误:SQLError:25156,SQLState:99999ORA-25156:oldstyleouterjoin(+)cannotbeusedwithANSIjoins那

java - Hibernate 查询语法异常 : org. hibernate.hql.ast.QuerySyntaxException: unexpected token

我有一个查询,我要连接两个表ROuteMaster和RouteHalts。当我执行内部连接时,我得到了org.hibernate.hql.ast.QuerySyntaxException:unexpectedtoken:onnearline1,column169[SELECTrm.id,rm.routeCode,rm.startPlaceId,rm.endPlaceId,rm.active,rm.linkedRouteFROMcom.oprs.pojo.routes.RouteMasterrmINNERJOINRouteHaltsrhonrm.id=rh.routeIdWHERErh.

java - HQL 中的 Collection.contains(Enum.Value)?

我对如何在HQL中做某事有点困惑。假设我有一个Foo类,我坚持hibernate。它包含一组枚举值,如下所示:publicclassFoo{@CollectionOfElementsprivateSetbarSet=newHashSet();//gettersandsettershere...}和publicenumBar{A,B}是否有一个HQL语句我可以用来只获取barSet包含Bar.B的Foo实例?Listfoos=session.createQuery("fromFooasfoo"+"wherefoo.barSet.contains.Bar.B").list();或者我是否一