草庐IT

Hibernate

全部标签

java - Hibernate : Why FetchType. LAZY-annotated 集合属性急切加载?

我尝试实现简单的one-to-many协会。在使用Debug模式检查项目对象后,我发现Listbids已经加载。但是Listbids属性用FetchType.LAZY注释.一些书籍和网页声称FetchType.LAZY是JPA提供者接受或拒绝的提示。但我想知道JPA提供商在什么情况下会忽略FetchType.LAZY.提前谢谢你。@Entity@Table(name="ITEM")publicclassItemimplementsSerializable{@IdprivateLongid=null;privateStringname;@ManyToOne(fetch=FetchType

java - 如何在 hibernate 实体中按多列定义索引?

早上好。我需要在hibernate实体中添加索引。据我所知,可以使用@Index批注为单独的列指定索引,但我需要为多个实体字段创建索引。我用谷歌搜索并找到了jboss注释@Table,它允许这样做(根据规范)。但是(我不知道为什么)这个功能不起作用。可能是jboss版本低于必要的版本,或者我不明白如何使用这个注释,但是......没有创建复杂的索引。为什么不能创建索引?jboss版本4.2.3.GA实体示例:packagesomepackage;importorg.hibernate.annotations.Index;importjavax.persistence.Column;im

java - 使用 Hibernate 加载 20K 产品,修改实体并更新到数据库

我正在使用hibernate更新我数据库中的2万个产品。截至目前,我正在提取20K产品,遍历它们并修改一些属性,然后更新数据库。所以:loadproductsforeachproductssessionbegintransactionproductDao.MakePersistant(p);sessioncommit();到目前为止,与您的标准jdbc相比,速度非常慢,我可以做些什么来加快速度?我确定我在这里做错了什么。 最佳答案 在文档中查看此类处理的正确位置是整个Chapter13.Batchprocessing.在这里,您当前

java - hibernate ,测试集合是否已完全加载

有没有办法测试一个集合是否已经初始化?仅try-catch?我有一个与惰性集合一起工作的函数,只有在尚未加载时我才需要加载它。 最佳答案 使用Hibernate.initialize(collection)如果还没有,这将初始化集合。(还有另一种方法-Hibernate.isInitialized(collection),但是既然你想真正加载集合,initialize(..)是可行的方法-它在进行初始化之前进行相同的检查) 关于java-hibernate,测试集合是否已完全加载,我们在

java - Hibernate Criteria Query - 嵌套条件

我不知道如何使用HibernateCriteriasynthax创建这样的查询select*fromxwherex.a='abc'and(x.b='def'orx.b='ghi')你知道怎么做吗?我正在使用HibernateRestriction静态方法,但我不明白如何指定嵌套的“或”条件 最佳答案 您的具体查询可以是:crit.add(Restrictions.eq("a","abc"));crit.add(Restrictions.in("b",newString[]{"def","ghi"});如果您想了解一般的AND和OR,

java - 在 hibernate 中存储键值对 |我们可以使用 map 吗?

我有一个xml文件,其中有一些键值对。我想以键值对的形式存储它们valuevaluevaluevalue...value现在我不知道有多少键值会预先从xml来。我如何将它映射到hibernate对象?我可以将它存储在表中primaryKeyparentIdkeyvalue11k1val21k2val31k3val42k1val52k2val63k3val如何将它映射到hibernate对象?我想要以下结构父类{int父代号;字符串父名称键值键值;//如何建模?AM使用netbeansIDE。 最佳答案 你确实可以使用map:publ

java - Tomcat内存管理

我正在运行Tomcat7,服务器非常强大,8GBRAM8核。我的问题是RES内存越来越高,直到服务器不再响应,甚至不调用OnOutOfMemoryError。Tomcat配置:-Xms1024M-Xmx2048M-XX:PermSize=256m-XX:MaxPermSize=512m-XX:+UseConcMarkSweepGC-XX:OnOutOfMemoryError='/var/tomcat/conf/restart_tomcat.sh'内存信息:Memory:Nonheapmemory=106Mb(PermGen,CodeCache),Loadedclasses=14,055

java - 说明超出已声明序数参数数量的位置

我想使用hibernate执行native/原始mysql查询,我有这个:sessionFactory.getCurrentSession().createSQLQuery("updatetable1setsomeCounter=someCounter+1whereid=?").setParameter(1,someId).executeUpdate();我收到错误:threwexception[Requestprocessingfailed;nestedexceptionisorg.hibernate.QueryParameterException:Positionbeyondnum

java - 渴望在 Hibernate 中使用 DetachedCriteria 获取嵌套对象

我必须修改一个大型HibernateDetachedCriteria查询以获取一些额外的关联。我的对象图类似于下面的结构,我想获取与每辆汽车相关的销售额:............我想做的是:DetachedCriteriacriteria=DetachedCriteria.forClass(Showroom.class);//...Existingcriteriaquerycode...criteria.setFetchMode("cars.sales",FetchMode.JOIN);但是setFetchMode中的associationPath参数似乎忽略了点符号,我得到了一个La

java - 无法提取结果集

publicclassDBUtilU{privatestaticSessionscss;privatestaticSessionFactorysfactory;static{Configurationcfg=newConfiguration();cfg.addAnnotatedClass(Userdetails.class);cfg.addAnnotatedClass(Code.class);cfg.addAnnotatedClass(Messages.class);cfg.addAnnotatedClass(Comments.class);cfg.configure();newSch