草庐IT

Hibernate-Validator

全部标签

java - 是否可以在 Hibernate 的同一个项目中同时使用注释和 hbm.xml 文件?

是否必须在使用注解和hibernate配置文件之间做出严格的选择,还是可以在同一项目中同时使用这两种方式?我们有一个使用Hibernate3.2.5和配置了.hbm.xml文件的POJO完成的大型项目。该项目使用HibernateSessionManager工厂而不是基于JTA的EntityManager工厂。以这种方式配置的POJO有一百多个,原始开发团队不愿意切换到注释。与此同时,我们需要使用更多POJO扩展项目,我们愿意使用Hibernate注释配置这些POJO,并且希望继续使用Hibernate-如果可能的话-而不是切换到JPA。是否可以同时对某些POJO使用.hbm.xml配

java - Hibernate javassist 代理和 `Object#equals`

在Java中为UDT提供#equals实现时,其中一个条件是传递的参数对象必须是当前类的实例,否则我们会快速失败returnfalse参见EffectiveJava(EJ2)。但是,在使用Hibernate4时,由于#equals条件将失败的延迟加载,我们最终可能会使用javassist代理实例。克服这个问题的最佳选择是什么?我能想到的几个选择是:扩展equals实现以考虑代理情况。缺点:可维护性收费、对Hibernate代理基础设施的硬连线依赖、hacky、实体或域模型应该与正在使用的ORM无关,即因为它们可能在不需要ORM的不同上下文中重用,例如Swing用户界面。在调用equal

java - 如何检查线程是否正在 hibernate ?

有什么方法可以检查给定线程是否正在hibernate? 最佳答案 您可以调用Thread.getState()打开并检查状态是否为TIMED_WAITING.请注意,TIMED_WAITING并不一定意味着调用了sleep()的线程,它也可能在Object.wait(long)中等待打电话或类似的东西。 关于java-如何检查线程是否正在hibernate?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

java - 在 Hibernate 中使用注释定义默认列值

我知道这里和网上有很多这样的问题,但所有答案都建议使用columnDefinition,它是特定于数据库的,因此不适用于我,因为我的系统处理需要在不同的数据库上运行。我找到了这个hibernateissue有人请求此功能进行注释的地方。该问题已关闭,说明anotherissue将涵盖该功能。第二个问题显然添加了注释@Generated和其他一些注释,但我找不到任何关于如何使用这些新注释定义默认列值的文档。所以我的问题是:有谁知道如何使用注释定义默认列值(而不是使用columnDefinition)?编辑:进一步阐明我的问题:当我添加一个新的非空列时,我需要Hibernate更新现有架构

java - hibernate中实现结果分页(获取总行数)

如何在Hibernate中实现分页?Query对象具有称为setMaxResults的方法和setFirstResult这当然有帮助。但是我在哪里可以获得结果总数,以便我可以显示结果最后一页的链接,并打印诸如xxx的结果200到250之类的东西? 最佳答案 您可以使用Query.setMaxResults(intresults)和Query.setFirstResult(intoffset)。编辑也是如此:没有办法知道您会得到多少结果。因此,首先您必须使用“selectcount(*)...”进行查询。有点丑,恕我直言。

java - 如何使用 hibernate/jpa 注释将一个类映射到不同的表

我目前遇到了一个看似非常简单的问题,但我似乎找不到解决方法:我有2个相同的表:tbl_creditcard_approved_txnstbl_creditcard_declined_txns两者中的字段是相同的,我有一个类-Transaction用于表示表中所有适当的字段。我正在尝试将两个不同的实体(每个表一个)映射到上述类。在旧世界中,我会创建两个hbm.xml文件,每个表一个,并将它们都映射到Transaction。然后,我会在持久化过程中使用实体名称,以确保对象持久化在正确的表中,具体取决于具体情况。我目前正在尝试使用注释来实现相同的目的,但到目前为止还没有成功地将这2个实体映射

java - Hibernate 4.0.0Final SessionFactory.openSession(拦截器拦截器)在哪里

我尝试了来自hibernate4.0interceptors的一些代码,它给出了使用session级拦截器的代码:Sessionsession=sf.openSession(newAuditInterceptor());但是,我同时检查了hibernate-core4.0源代码和onliehibernate4.0java-doc,类SessionFactory没有方法openSession(Interceptorinterceptor),但是hibernate3.6java-doc确实有这个方法。有人知道方法移动到哪里了吗?如果弃用,为什么文档仍将其保留在教程文档中?以及我应该如何在4

java - JPA 复合键与 ManyToOne 获取 org.hibernate.PropertyAccessException : could not set a field value by reflection setter of

我有一个复合键ContractServiceLocationPK由三个id(contractId,locationId,serviceId)组成在可嵌入类中键入long。使用此复合键的类ContractServiceLocation使用@MapsId注释将这些ID映射到它们的对象。这是它的样子(删除了setter/getter和不相关的属性):契约(Contract)@Entity@Table(name="Contract")publicclassContractimplementsSerializable{publicContract(){}@Id@GeneratedValuepri

java - hibernate 4.1.9 : Which jar files do I need?

我从“Hibernate3.2inSimpleSteps”这本书开始学习Hibernate框架,但我下载了最新版本的Hibernate,即4.1.9。根据这本书,我们需要将许多基本的jar添加到类路径中,例如Anttr-2.7.6.jarasm.jarasm-attrs.jarcglib-2.1.3.jarcommons-collections-2.1.1.jarcommons-logging-1.0.4.jar>。..等但我无法在新版本中找到所有需要的jar。那么如果不使用旧版本我能做什么呢??我是否只需要在所需的文件夹中添加jars,谁能告诉我我应该需要哪些jars来添加类路径(4

java - hibernate 异常 Null 值被分配给原始类型 setter 的属性

Hibernate3.6.9遇到令人沮丧的问题。MSSQLServer2008。注意异常和奇数列索引引用。HQL查询本身:SelectrfromDataStoreReferencerjoinfetchr.containercwherer.hash=:hashandr.state=0堆栈跟踪:2012-05-1600:01:22,184[BackgroundDeletionThread]ERRORorg.hibernate.util.JDBCExceptionReporter-ThevaluesuppliedcannotbeconvertedtoBIGINT.2012-05-1600:0