Tag: hibernate

截断所有表的简单方法,清除一级和二级hibernate缓存?

我正在为我正在研究的S​​pring / Hibernate应用程序编写一些集成测试,我想尽可能接近真实条件进行测试,包括使用Hibernate的二级缓存和提交事务。 我想知道是否有一种有效的方法让Hibernate从数据库和缓存中删除所有内容。 我能想到的最好的就是为每种类型的对象使用HQL“从XImpl删除”行,但我有几十个域对象,感觉应该有更好的方法。

hibernate分布式二级缓存选项

这不是一个问题,但我正在寻找有使用以下一项或多项经验的人的意见/建议: 带有RMI的EhCache EhCache与JGroups EhCache与兵马俑 Gigaspaces数据网格 一些背景知识:我们的应用程序只读取大部分内容,但有一些用户数据是可读写的,有些只是写入(也可能是合理的不准确)。 此外,如果有工具可以让我们每隔一段时间或通过管理员干预来刷新和填充缓存,那将会很不错。 关于第一个选项 – 是否有任何关于RMI开销和Java序列化性能的问题?

JPA:如何对实体中的Set字段进行排序?

我使用的是Spring 3.2.11.RELEASE,Hibernate 4.3.6.Final和JPA 2.1。 我有以下实体与以下字段… @Entity @Table(name = “user”) public class User implements Serializable, Comparable { … @ManyToMany @JoinTable(name = “user_organization”, joinColumns = { @JoinColumn(name = “USER_ID”) }, inverseJoinColumns = { @JoinColumn(name = “ORGANIZATION_ID”) }) @LazyCollection(LazyCollectionOption.FALSE) @SortNatural private SortedSet organizations; 上面,组织的排序由组织的名称字段完成。 当我运行JPA查询来检索User对象时,我想基于与它们关联的组织的有序列表进行排序。 我试过这个…… final CriteriaBuilder builder = m_entityManager.getCriteriaBuilder(); final CriteriaQuery criteria = builder.createQuery(User.class); … final […]

Jersey:com.sun.jersey.spi.inject.Errors $ ErrorMessagesException

我使用jersey(1.8),maven和hibernate时遇到了问题。 我收到此错误(“完整”日志) INFO: Scanning for root resource and provider classes in the packages: de.tum.fml.idp.backend.rest Dez 04, 2013 2:29:40 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses INFO: Root resource classes found: class de.tum.fml.idp.backend.rest.PlayerWebService class de.tum.fml.idp.backend.rest.RestSample Dez 04, 2013 2:29:40 PM com.sun.jersey.api.core.ScanningResourceConfig init INFO: No provider classes found. Dez 04, 2013 2:29:41 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: Initiating Jersey application, version ‘Jersey: […]

MariaDB Dynamic Columns集成在Java中

我正在研究有关将MariaDB动态列概念与Java集成的概念certificate。 所以问题是列将在BLOB中,数据将存储在键值对中。 目前,当从数据库返回byte []时,没有任何JSON对象格式或任何分隔符。 因此很难解析数据并找到密钥的值。 这可以使用Java中的Native查询来完成。 但是如何使用JPA / Hibernate检索数据还是支持动态列? 提前致谢。

为什么我的JPA注释类没有隐式发现?

我的persistence.xml看起来像: org.hibernate.ejb.HibernatePersistence com.XXX.Abc .. 一切正常。 当我删除指令时,我从EntityManager.find(Abc.class, 1)得到一个exception: java.lang.IllegalArgumentException: Unknown entity: com.XXX.Abc 看起来hibernate无法发现我的注释类,虽然我正在使用@Entity ..为什么?

使用JodaTime Instant进行Hibernate版本控制

使用java.time.Instant和Hibernate一起工作(我使用的是hibernate-java8 , 这里给出了更多的解决方案)。 使用它作为@Version是一个问题。 我正在使用Hibernate 5.1.7.Final(传统和JPA的混合)注释。 我的实体使用版本 @javax.persistence.Version @javax.persistence.Column( columnDefinition=”TIMESTAMP(3) DEFAULT ‘2016-01-01′”) private Instant mytimestamp; MySQL解释为 `mytimestamp` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) 这太疯狂了,但不是我的观点。 我想知道Hibernate如何分配mytimestamp ,如果我可以改变方式并且我可以检索该值。 看起来所有三个答案都是“不”。 Hibernate不分配mytimestamp ; 它由MySQL分配ON UPDATE 。 这不适用于不支持此hack的数据库。 我想知道这是故意还是偶然的。 所以我添加@org.hibernate.annotations.Source(SourceType.VM)只是为了发现版本生成使用TimestampType.seed(SessionImplementor session)返回新的java.sql.Timestamp ,它不能分配给一个字段输入Instant 。 使用SourceType.DB ,我得到DbTimestampType ,它是TimestampType的子类,导致相同的exception。 我没有看到如何在没有额外查询的情况下检索时间戳。 所以我的问题: 我可以让Hibernate分配Instant mytimestamp吗? 或者我可以让它调用我的代码,所以我可以自己分配它?

@Entity实体无法解析为某个类型

学习Spring MVC和Hibernate。 import javax.persistence.Column; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Customer { 在@Entity行中有一个错误:实体无法解析为某个类型 我从spring-framework-2.5.6获得了jar子你能告诉我我在这里缺少什么吗?

为什么hibernate在插入和删除操作期间会生成’T_’前缀tableName?

数据库:ORACLE 我们在hibernate和hbm文件中使用ImprovedNamingStrategy,我们明确地给出了表名。 但是,仍然,在删除和插入操作期间,它生成’T_’作为前缀,’HT_’作为一些表的前缀。 这导致SQLGrammarException: org.hibernate.exception.SQLGrammarException:无法执行语句 请注意,使用Oracle数据库时会发生这种情况,HSQL或Postgres不会发生这种情况。

Hibernate使用自定义修订实体

我正在尝试扩展我的修订表。 按照手册我创建了自定义修订实体: package com.terminal.audit; import org.hibernate.envers.DefaultRevisionEntity; import org.hibernate.envers.RevisionEntity; import org.hibernate.envers.RevisionNumber; import org.hibernate.envers.RevisionTimestamp; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Transient; import java.util.Date; @Entity @RevisionEntity(CustomRevisionListener.class) public class CustomRevisionEntity extends DefaultRevisionEntity { @Id @GeneratedValue @RevisionNumber private int id; @RevisionTimestamp private long timestamp; private String username; public int getId() { return id; } public void setId(int id) { […]