草庐IT

hibernate-entitymanager

全部标签

java - 如何让 Hibernate Validator 在第一个字段违规时停止验证?

我有一个bean,我在其中为每个字段定义了多个验证注释,例如@NotEmpty@Pattern(regexp="(\\-?\\d)+")@Min(value=1)StringmyField;我遇到了两个一个我无法用任何简单方法解决的问题。每个字段的指定注释的验证顺序是随机的,即不会按照注释定义的顺序发生。我相信@GroupSequence不会有帮助,因为它只定义组验证序列,而不是注释序列。正如@Tom正确评论的那样,违规被报告为Set,这意味着注释的执行顺序与报告的违规之间没有1:1的映射。我只想使每个字段的一个规则无效,即如果它不匹配模式,请不要尝试检查该值是否>=1。目前,如果将m

java - @IdClass 使用 JPA 和 Hibernate 生成 'Identifier of an Instance was Altered'

对于使用不区分大小写的数据库模式的JPA实体模型,当我使用@IdClass注释时,我始终会收到“实例标识符已更改”异常。对于主键为'string'的对象,当数据库中存在一个大小写的字符串,并使用相同的字符串进行查询,仅大小写不同时,就会出现错误。我看过其他SO答案,它们的形式是:a)不要修改主键(我没有)和b)你的equals()/hashCode()实现有缺陷。对于“b”,我尝试使用toLowerCase()和equalsIgnoringCase()但无济于事。[此外,Hibernate代码似乎是直接设置属性,而不是在发生“改变”时调用属性setter。]具体错误如下:Causedb

java - 如何在 session 关闭后使用 hibernate 访问延迟加载的字段?

考虑这个场景:我已经通过hibernate加载了父实体Parent包含一个Children的集合,该集合很大且延迟加载当用户查看父数据时,初始加载后hibernatesession关闭用户可以选择查看lazyChildrenCollection的内容我现在想加载那个集合加载此集合的方式/最佳方式是什么?假设session-in-view不是一个选项,因为只有在用户查看了Parent并决定查看Children之后才会获取Children集合。这是一项可通过基于Web和桌面的客户端远程访问的服务。谢谢。 最佳答案 惰性集合可以使用Hib

java - 如何使用 JPA 和 Hibernate 映射 PostgreSQL 枚举

我正在尝试将名为transmission_result的PostgreSQL自定义类型映射到Hibernate/JPAPOJO。PostgreSQL自定义类型或多或少是一种enum类型的字符串值。我创建了一个名为PGEnumUserType的自定义EnumUserType以及一个代表PostgreSQL枚举值的enum类。当我针对真实数据库运行它时,我收到以下错误:'ERROR:column"status"isoftypetransmission_resultbutexpressionisoftypecharactervaryingHint:Youwillneedtorewriteor

java - Hibernate - 从单向 OneToMany 关系中获取集合的 HQL

我有一个具有单向一对多关系的类,如下所示:publicclassOrder{@OneToMany(cascade=CascadeType.ALL)@JoinTable(name="order_item",joinColumns={@JoinColumn(name="order_id")},inverseJoinColumns={@JoinColumn(name="item_id")})publicSetgetItems(){returnitems;}}通常获取此订单的内容很简单:Listitems=order.getItems();但无论出于何种原因,我可能想以某种方式过滤我的结果,并

java - Hibernate 4.3如何配置二级缓存

我已阅读与此相关的帖子,但没有得到任何适合我的答案。我正在配置secondlevelcache在Hibernatev4.3.我用过MySQL5.0我在hibernate.cfg.xml中写了以下元素trueorg.hibernate.cache.ehcache.EhCacheRegionFactory我已经为我的缓存实体类注释如下@Entity@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)publicclassEmployee{....}运行时出现如下异常INFO:HHH000397:UsingASTQueryTranslatorFac

java - spring hibernate.createSQLQuery 作为自定义实体返回

我正在做Queryquery=hibernate.createSQLQuery("selectabc,deffromtable");是否可以将结果自动“解析”到“POJO”列表?这样我就可以做到:Listabc=query.list();//CustomPOJOispojonotentity,no@Entitytag 最佳答案 尝试hibernate.createSQLQuery("selectabc,deffromtable").setResultTransformer(Transformers.aliasToBean(Custo

java - 如何将 JodaTime 与 Spring 和 Hibernate 一起使用?

所以我在我的Spring应用程序中遇到了问题。用户可以使用日期选择器工具输入日期,这些日期使用Hibernate存储在Mysql数据库中。该表使用日期字段来存储它们,因此不会节省时间。问题是服务器设置为GMT,而我们的用户是EST或GMT-5。所以日期被正确地存储在数据库中,但是当它显示在前端时,它总是显示以前的日期。惹恼了我,因为我没有节省时间,但显然它仍在影响事情。无论如何,12/10/2001将在前端显示为12/09/2011。我已经调查过了,不允许我将服务器更改为EST,所以我现在正在研究用Jodatime解决这个问题(除非有人认为我正在做其他事情来导致这个问题)或更简单的解决

java - Hibernate 4 中的 SessionFactory.openSession(Connection)

我正在使用SessionFactory.openSession(Connection)获取现有的JDBC连接。现在在4.0中此方法不可用。我应该使用哪种方法? 最佳答案 您可以使用SessionFactory.withOptions()和SessionBuilder.connection(Connectionconnection).SessionBuilder连接(Connection连接)AddsaspecificconnectiontothesessionoptionsParameters:connection-Theconne

java - 为 InheritanceType.SINGLE_TABLE 的未知 DiscriminatorValue 映射 Hibernate 实体

我有一个经典的Hibernate@Inheritance(strategy=InheritanceType.SINGLE_TABLE)和@DiscriminatorFormula。它工作正常。但是,数据库中的@DiscriminatorValue有大约500个不同的值,我需要将其中大约30个映射到Java类(子类),其余映射到父Java类。问题可以建模为Animal类的示例继承。@Entity@Inheritance(strategy=InheritanceType.SINGLE_TABLE)@DiscriminatorFormula("...")publicclassAnimalim