草庐IT

Hibernate

全部标签

java - Hibernate:将子类的实例转换为父类(super class)的实例

假设我有一个名为User的类和一个ExtendedUser类,后者是User的子类。这两个类都使用hibernate(JPA)注释进行映射:用户:@Entity@Table("user-table")@Inheritance(strategy=InheritanceType.JOINED)publicclassUser{@Id@GeneratedValue@Column(name="id")privateIntegerid;@Column(name="name")privateStringname;}扩展用户:@Entity@Table(name="extended-user-tabl

java - Spring + Hibernate + Envers + 多线程 - session 关闭

我们使用Hibernate(带有JPA)和HibernateEnvers来保存对象的历史记录。Web应用程序运行许多线程,其中一些是由其他应用程序调用RMI方法创建的,一些是由应用程序本身创建的,还有一些是为处理http请求(它们生成View)而创建的。我们还使用OpenSessionInView模式来管理session,因此我们的web.xml包含:openEntityManagerInViewFilterorg.springframework.orm.jpa.support.OpenEntityManagerInViewFilteropenEntityManagerInViewFi

java - 按类类型加载数据的通用 Spring Data JPA 存储库实现

我正在使用SpringDataJPA1.4.3.RELEASE和Hibernate4.2.7.Final我能够成功地创建一个BaseRepository类,类似于:http://docs.spring.io/spring-data/jpa/docs/1.4.2.RELEASE/reference/html/repositories.html#repositories.custom-behaviour-for-all-repositories@NoRepositoryBeanpublicinterfaceBaseRepositoryextendsJpaRepository@NoRepos

java - 参数值与预期类型不匹配

我有一个带有状态列表的枚举(例如)enumState{UP,DOWN,RETRY};我数据库中的列是枚举类型。当我尝试通过使用setParameter("keyword",State.RETRY);在查询中设置参数来执行Hibernate查询时,我收到错误Parametervalue[RETRY]didnotmatchexpectedtype[package.name.State(n/a)]在我的域的Glassfish4.1server.log中。我正在使用Hibernate4.3.6。在查看Hibernate的源代码时,我发现错误是由于org.hibernate.jpa.spi.Ba

java - 我可以使用 Liquibase 创建 Hibernate Envers 特定表吗

我们的Java应用程序是基于Spring的,我们有域类和通过Liquibase生成的相应模式。我们计划添加对要审核的单个域的支持。一个。我们没有hibernate.xml和hibernate.cfg.xml,而是使用application-context.xml。那么如何通过@Audited之类的注解来创建审计表。我该如何解决这个问题?我已将hibernate配置添加为org.hibernate.dialect.MySQLInnoDBDialectorg.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.enve

java - 从 hibernate 配置创建 EntityManagerFactory

在我们当前的应用程序(JavaSE)中,我们使用Hibernate特定的API,但我们有点想尽可能地迁移到JPA(但速度很慢)。为此,我需要EntityManagerFactory而不是SessionFactory(我想毫无争议地保持这个公理)。问题出在哪里,目前我们的session工厂是从org.hibernate.cfg.Configuration创建的,我想暂时保持原样-因为此配置已通过我们软件的不同部分可以并且确实根据需要配置持久性。所以问题是:我怎样才能使ServiceRegistryserviceRegistry=newServiceRegistryBuilder().ap

java - Spring Data,JPA @ManyToOne 延迟初始化不起作用

我知道有很多关于这个问题的类似问题,但对我没有任何帮助。我在Aim和User之间有@ManyToOne关系。@ManyToOne(fetch=FetchType.LAZY,optional=false)@JoinColumn(name="user_id",nullable=false,updatable=false)privateUseruser;和@OneToMany(fetch=FetchType.LAZY,mappedBy="user")privateCollectionuserAims;分别。@Override@Transactional(propagation=Propaga

java - 使用 OR 条件而不是 AND 条件连接列的注释

我有2个java类,Relation和Person,它们都存在于我的数据库中。人:@Entity@Table(name="persons")publicclassPerson{@Id@Columnprivateintid;@ColumnprivateStringname;@OneToMany(fetch=FetchType.EAGER)@JoinColumns({@JoinColumn(name="slave_id",referencedColumnName="id"),@JoinColumn(name="master_id",referencedColumnName="id")})p

java - hibernate 5.2.1 中 org.hibernate.jmx.statisticsservice 的替换或解决方法

我已经在我的应用程序中将hibernate3.x升级到5.2.1。升级后,我在运行我的应用程序时遇到以下错误,org.springframework.beans.factory.CannotLoadBeanClassException:Cannotfindclass[org.hibernate.jmx.StatisticsService]forbeanwithname'clientRegHibernateStatistics'definedinServletContextresource[/WEB-INF/classes/hibernate-context.xml];nestedexc

java - Hibernate Ehcache 不适用于 SQL Native 查询缓存

我遇到了错误aliasesexpectedlengthis1;actuallengthis4atorg.hibernate.transform.CacheableResultTransformer.transformTuple我有JPA+Hibernate配置和查询缓存以及使用Eh-Cache的二级缓存。配置:PostgreSQL9.6+JPA2.1+Hibernate5.2.3.Final我正在尝试使用SqlResultSetMapping[自定义结果集类]执行NativeQuery。当我禁用缓存时一切正常。但是,当我启用缓存时出现上述错误。缓存工作正常,但NativeQuery除外