草庐IT

java - 如何在 jpa 监听器中获取实体管理器或事务

我使用Hibernate事件监听器,如PostDeleteEventListener、PostInsertEventListener、PostUpdateEventListener在插入、删除和更新期间执行一些操作。现在我想使用JPA监听器来执行此操作,因为如果我想从Hibernate转移到任何其他JPA提供程序,我的监听器应该可以工作。Hibernate监听器为我提供了event,我可以从中获取事务并检查它是已提交还是回滚。JPA监听器仅向我提供实体对象。现在如何在JPA监听器中获取事务或session或实体管理器?提前致谢!!我正在使用Jboss作为我的CMT。

java - Datanucleus 警告 : Class was specified in persistence-unit but not annotated, 所以忽略

启动我的应用程序时,我会为每个类看到此警告:WARN[DataNucleus.MetaData]-Classcom.mycomp.MyClasswasspecifiedinpersistence-unitmyPersistenceUnitbutnotannotated,soignoring该应用程序正确启动,因此没有直接问题,但我想知道这个即将到来的形式,以及如何避免id。我的persistence.xml看起来像:org.datanucleus.api.jpa.PersistenceProviderImpl我正在使用Spring在GoogleAppEngine上运行我的应用程序。但我

java - 是否有将 PostgreSQL hstore 转换为 JPA 2.1 DataType 的优雅且通用的方法?

我用过JPA2.1Converter转换PostgreSQLhstore至Map.但是我没有找到适用于不同JPA提供程序(例如EclipseLink和Hibernate)的通用方法。所以我需要为每个JPA提供程序编写不同的转换器。以下是为EclipseLink和Hibernate使用不同转换器的示例。https://github.com/phstudy/jpa-converter-sample是否有适用于不同JPA提供程序的通用方法? 最佳答案 PostgreSQLJDBC驱动程序提供了一个org.postgresql.util.H

java - 使用 JPA 注释映射 java.util.Map 时,键和值列名称会被覆盖

我正在研究使用Hibernate4.1.9和JPA注释对map进行注释的不同方式。如果我想存储一个Map,其中键是实体值的一个属性,标记看起来像这样@OneToMany(mappedBy="deptById",targetEntity=com.demo.impls.Employee.class)@MapKey(name="entityId")privateMapemployeesById;请注意,上面的标记不会创建连接表,但Map是在运行时通过查询返回的,因此Map是动态的,您不必在Java中将元素添加到map中即可返回通过查询。现在我希望Map的内容反射(reflect)应用程序添加

java - Hibernate 检查注解

我有一个包含三个字段的表,比如a、b、c。我想添加一个约束,确保如果a不为空,则b和c也不为空。我已经使用以下SQL完成了该操作ALTERTABLEsampleADDCONSTRAINTno_nullsCHECK(CASEWHENaISNOTNULLTHENbISNOTNULLANDcISNOTNULLEND)有没有办法使用hibernate注解@Check达到同样的效果?我找不到带有该注解的有用示例,开发人员是否倾向于根本不使用它? 最佳答案 是的,如果像这样在类级别使用@Check是可能的:@Entity@Check(const

java - Spring Boot+JPA+QueryDSL=找不到OrderSpecifier

我有这个pom.xml:org.springframework.bootspring-boot-starter-parent1.3.5.RELEASEcom.mysema.querydslquerydsl-jpacom.mysema.querydslquerydsl-aptprovidedorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-data-jpaorg.slf4jslf4j-log4j121.6.1org.projectlomboklombok1.

java - Hibernate prepareConnection/preparedStatement 问题

在我们的项目中,我们已将Spring更新为4.3.14.RELEASE,将Hibernate更新为4.3.11.Final,因为我们开始看到两个警告:WARNJDBCConnectiontoresetnotidenticaltooriginallypreparedConnection-pleasemakesuretouseconnectionreleasemodeON_CLOSE(thedefault)andtorunagainstHibernate4.2+(orswitchHibernateJpaDialect'sprepareConnectionflagtofalse解决方法是将R

java - 在 JBoss 4.2 上使用 JPA 启用 Hibernate 二级缓存

在使用JavaPersistenceAPI(注释实体)时,启用Hibernate的二级缓存需要哪些步骤?我如何检查它是否正常工作?我正在使用JBoss4.2.2.GA。从Hibernate文档来看,我似乎需要启用缓存并在persistence.xml中指定一个缓存提供程序,例如:还需要什么?我是否需要向我的JPA实体添加@Cache注释?如何判断缓存是否正常工作?我尝试在运行查询后访问缓存统计信息,但Statistics.getSecondLevelCacheStatistics返回null,可能是因为我不知道要使用什么“区域”名称。 最佳答案

java - 使用 hibernate 保存集合字段

使用hibernate,我如何使用List保留一个类?领域?考虑以下实体类:@EntitypublicclassBlog{privateLongid;privateListlist;@Id@GeneratedValuepublicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}publicListgetList(){returnlist;}publicvoidsetList(Listlist){this.list=list;}}但是,当我尝试保存它时,出现以下错误:[INFO]Anexceptionoccuredwhi

java - jpa/hibernate 查询返回的实体中包含的过滤器列表

我有一个简单的jpa实体“ApplicationForm”,里面有一个一对多的列表:@OneToMany(cascade=CascadeType.REMOVE,mappedBy="textQuestion")privateListquestions;ApplicationForm中包含的变量Dictionary只是另一个仅包含问题文本的普通实体。Dictionary对应的数据库表为:'locale''text''formId'enmyquestion123itmiadomanda123我想知道是否有可能使用jpa或hibernate,构建一个查询来检索带有特定区域设置的字典的Appli