草庐IT

HIBERNATE

全部标签

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

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

java - 如何克服 Hibernate Criteria 和 Example API 的限制?

我所在的公司拥有高度可配置的数据库搜索服务,以编程方式配置查询非常有用。CriteriaAPI非常强大,但是当我们的一位开发人员重构其中一个数据对象时,在我们运行单元测试之前,或者更糟的是,在我们的生产环境中运行时,标准限制不会发出它们被破坏的信号。最近,由于这个问题,我们有一个重构项目的工作时间意外地翻了一番,这是项目计划中的一个差距,如果我们知道真正需要多长时间,我们可能会采取替代方法。我想使用ExampleAPI来解决这个问题。如果我们在真实的POJO属性上指定“where”条件,Java编译器会大声指出我们的查询很无聊。但是,ExampleAPI中只有这么多功能,并且在很多方面

java - Hibernate 多对一外键默认值 0

我有一个表,其中父对象具有可选的多对一关系。问题是该表设置为默认fkey列为0。选择时,使用fetch="join"等——fkey上的默认值0用于反复尝试从另一个表中选择ID0。当然这不存在,但是我如何告诉Hibernate将值0视为与NULL相同——在获取不存在的关系时不循环20多次? 最佳答案 有两种方法可以做到这一点,一种在性能方面会变得丑陋,另一种是痛苦和尴尬的。潜在丑陋的方式是在ToOne端完成的。使用HibernateAnnotations它将是:@EntitypublicclassFoo{...@ManyToOne@J

java - 当 Terracotta 服务器用作带 Hibernate 的 EHCache 的后端时,它会做什么?

我的DAL是用Hibernate实现的,我想使用EHCache作为具有分布式功能(用于可扩展性和HA)的二级缓存。鉴于EHCache仅通过Terracotta提供分布式缓存,我的问题是Terracotta服务器实例的作用是什么?它也保存数据吗?它只是协调分区缓存部分之间的分配吗?我的困惑主要来自this关于TSA的解释,它说服务器保存数据,但我认为在我的场景中缓存和Terracotta服务器可能有点合并。我说的对吗?如果服务器确实保存数据,那么为什么瓶颈不应该从数据库转移到Terracotta服务器?更新:Affe的回答回答了我问题的第二部分,这是重要的部分,但以防万一有人来寻找第一部

java - JPA/Hibernate 删除实体不工作

我正在使用Hibernate的JPA接口(interface),我编写了一些简单的代码来从数据库中加载一个实体,然后将其移除(删除)。我对插入和更新实体的所有合并调用都运行良好,但是当我尝试删除实体时,Hibernate不会将其从数据库中删除,也不会抛出任何异常。我在下面包含了相关代码:主要方法:/***Acceptaninvitethatwassenttoyou.**@paraminviteId*@returnXMLmodeloftheEventMember.*/@RequestMapping(value="/invites/accept.rest")publicModelAndVi

java - hibernate 和存储过程

我是hibernate的初学者,直到现在我还没有接触过存储过程。有人能告诉我如何在Hibernate中执行以下操作吗?这个存储过程返回三个字段date,balance,name_of_person执行程序'dfd''fdf''34'我是否需要以bean具有以下字段的方式创建bean:日期、余额、姓名_of_person我是否需要创建属性文件?是否可以使用Criteria在hibernate中执行程序?如果NativeQuery是唯一的选择,那么我如何创建属性文件,因为我没有这样的表作为过程的结果是否可以单独使用native查询而不使用任何bean或属性文件并打印结果

java - Hibernate validator 中的国际化

Hibernatevalidator是否支持国际化。我看到了jar,我可以看到各种ValidationMessages.properties文件。我们能否创建自己的国际化自定义错误消息?我不想使用Hibernatevalidator中默认提供的错误消息。我们需要使用我们自己的自定义消息,并且它们应该国际化。以及Hibernatevalidator支持的语言是什么。在jar中,我看到了英语、法语、德语、土耳其语和蒙古语的属性文件。我们可以添加更多语言吗?西类牙语、葡萄牙语等? 最佳答案 I18N是BeanValidation规范的组成

java - Hibernate + Oracle IN 子句限制,如何解决?

我知道这个问题已经发过很多次了,但是我想问一下细节,使用Oracle,您不能向IN子句传递超过1000个参数,因此将hibernate与oracle一起使用可能有一些解决此问题的方法,例如:1-对于每1000个参数列表,在IN子句之间使用OR子句,但是由于oracle对整个查询参数不超过2000的其他限制,这不适用2-使用for循环,每次查询1000个参数列表,然后追加所有结果,如果需要排序,或者使用不同级别修改的criteriaapi,这不太好3-将参数列表放在一个临时物理表中,然后加入它,甚至在子条件中使用它,这个解决方案我不能尝试,因为我不知道如何使用创建临时表hibernate

java - 春+ hibernate : LocalSessionFactoryBean - NoSuchMethodError: org. hibernate.cfg.annotations.reflection.XMLContext

我正在尝试将Hibernate4.0.0.FINAL与Spring3.1.0.RELEASE集成使用@Configuration。之后出现这个问题:BeanCreationException:Errorcreatingbeanwithname'alertsSessionFactoryBean'NoSuchMethodError:org.hibernate.cfg.annotations.reflection.XMLContext$Default.getDelimitedIdentifier()Ljava/lang/Boolean;这是我的PersistenceHibernateConf

java - Hibernate - 分页的不同结果

这似乎是多年来众所周知的问题,可以在这里阅读:http://blog.xebia.com/2008/12/11/sorting-and-pagination-with-hibernate-criteria-how-it-can-go-wrong-with-joins/甚至可以在hibernate常见问题解答中找到引用资料:https://community.jboss.org/wiki/HibernateFAQ-AdvancedProblems#Hibernate_does_not_return_distinct_results_for_a_query_with_outer_join_