草庐IT

Hibernate

全部标签

java - hibernate : closing the session factory does not close the c3p0 connection pool

我最近开始在我的应用程序中使用hibernate和c3p0作为ORM。但是,当我关闭session工厂时,连接池并没有自行关闭!这是我的应用程序中也是唯一的地方,我可以在其中对session执行任何操作。StatelessSessionsession=null;Transactiontransaction=null;try{session=sessionFactory.openStatelessSession();transaction=session.beginTransaction();Listlist=session.getNamedQuery("getAvailableThin

java - Hibernate:实体上的多个过滤器

我想在一个实体上有多个Hibernate过滤器,我已经尝试了所有合乎逻辑的方法,但运气不佳,谷歌在这方面做得很差,Hibernate文档也是如此。我无法想象这是不可能的。(使用Java6Hibernate4.1.9.final)目前,我有这个:@Entity@Table(name="CATEGORY")publicclassCategoryimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@Column(name="CATEGORYID")privateintID;@Column(name="CATE

java - 在 hibernate 标准中使用 readOnly 是否有任何性能优势?

我正在使用hibernate条件API来检索数据。这些数据只会被用户查看。用户不能修改这些数据。那么,使用readOnly有什么好处吗?能推荐一下优缺点吗?我还需要考虑其他措施吗?Read-onlyentities 最佳答案 Hibernate正在跟踪session中加载的所有对象以查找修改并在刷新session时保留所有更改。如果将实体加载为只读,则指示Hibernate不要跟踪该实体的更改。这样,您将获得一些性能提升。但是,该对象将保留在session缓存中。如果缓存太大,就会成为一个很大的性能问题,并且有内存耗尽的风险。如果你

java - ORA-24816 : Expanded non LONG bind data supplied after actual LONG or LOB column

我在Hibernate中更新表时出现以下异常ORA-24816:在实际LONG或LOB列之后提供的扩展非LONG绑定(bind)数据我也提取了sql查询,看起来像Updatetable_namesetcolumnName(LOB)=value,colmun2(Stringwith4000)=valuewhereid=?;实体类classTest{@LobprivateStringerrorText;@Column(length=4000)privateStringtext;}请帮帮我,这是哪里出了问题谢谢拉维·库马尔 最佳答案 运行

java - 了解 Hibernate 的条件#setMaxResults

docs说:CriteriasetMaxResults(intmaxResults)>Setalimituponthenumberofobjectstoberetrieved.假设我有以下Criteria:Criteriacriteria=createCriteria();//createscriteriaforMY_TABLEentitycriteria.list().length;//let'ssaythere'samillionrecordsinthistable将添加criteria.setMaxResults(1)只返回一行?或者,它是否仍会返回100万行,但选择其中之一?当

java - JPA/Hibernate 加入常量值

我正在尝试使用连接语句中的常量值连接同一个表中的不同实体。在SQL中,我会做这样的事情......SELECT*FROMowneroJOINtypestont.owner_id=o.idANDt.type='A'--^^^^^^^^^^^^^^^^THISISWHATIAMTRYINGTOREPLICATE在Java+JPA/Hibernate中,我正在尝试做这样的事情......@Entity@Table(name="OWNER")publicclassOwner{@Id@Column(name="ID")privateLongid@OneToOne(mappedBy="owner"

java - 有没有办法让 Play 框架和 JPA 在列名中使用下划线?

我正在尝试构建一个Play!针对现有数据库运行的应用程序,其中所有列都有下划线来分隔单词。这意味着我必须在每个字段上放置一个@Column注释以指定不同的名称。有没有办法得到Play!默认使用下划线? 最佳答案 如果Play使用Hibernate,正如其他答案所建议的那样,您将不得不implementacustomNamingStrategy。下面是一个NamingStrategy示例,它使用Guava将所有列名从小驼峰转换为带下划线的小写:publicclassCustomNamingStrategyextendsImproved

java - hibernate ,Java : no session or session was closed

我已经在Stackoverflow上看到过此类问题,但没有任何方法可以帮助我解决问题。我是Hibernate新手,有一个项目要用Java和MySQL做,所以用hibernate。我设法访问了我的数据,修改了它们,删除了它们,但是我阻塞了一个方法,因为我有一个异常到达了..并且看到我仍然不明白我设法不删除这个错误的所有线程:这是我的错误:org.hibernate.LazyInitializationExceptionGrave:failedtolazilyinitializeacollectionofrole:DAO.User.files,nosessionorsessionwascl

java - Hibernate Generated Value 策略

我在hibernate状态下使用这段代码。@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="RightID",unique=true,nullable=false)问题是当我删除一行时,“RightId”不保持顺序。我想要类似的东西,hibernates应该检查id,如果缺少某些id值,它必须将该值赋予'RightsId',否则将正常进行 最佳答案 我不认为在hibernate中有任何这样的选项可用。除了AUTO,您还可以尝试以下策略选项:Generation

java - 通用 JDBCException : Invalid column type: getCLOB not implemented

我正在尝试从JBoss5.1迁移到JBoss7.1.1,目前遇到了这个问题。每当我尝试从包含CLOB字段的数据库中获取对象时,都会抛出此错误:11:48:58,974INFO[org.hibernate.event.internal.DefaultLoadEventListener](http-localhost-127.0.0.1-8080-1)HHH000327:Errorperformingloadcommand:org.hibernate.exception.GenericJDBCException:Invalidcolumntype:getCLOBnotimplemented