草庐IT

accessing-data-jpa

全部标签

java - JPA Hibernate DBCP Tomcat 内存不足

我在新版本的应用程序中每天都会收到OutOfMemory错误。我们为Tomcat分配了1.5GB的堆。使用Eclipse内存分析器(http://www.eclipse.org/mat/)我在最短累积路径下得到了以下内容org.apache.tomcat.dbcp.pool.impl.CursorableLinkedList$Listable@0xa1566cc8_headorg.apache.tomcat.dbcp.pool.impl.CursorableLinkedList@0xa1566ca8_poolorg.apache.tomcat.dbcp.dbcp.AbandonedOb

java - 在 jpa 标准中, "in case there is at least 1 row return true"

我正在尝试使用JPA(eclipselink)中的标准api创建以下句子,很简单,询问某个类别中是否存在某个用户我想要的句子:SELECTCASEWHENEXISTS(SELECT*FROMuserWHEREcategory=?)THENtrueELSEfalseENDbind=>[10]我尝试使用这段代码:CriteriaBuildercriteriaBuilder=entityManager.getCriteriaBuilder();CriteriaQuerycriteriaQuery=criteriaBuilder.createQuery(Boolean.class);Rootr

java - 用于选择特定列的 Spring Data JPA 规范

我们可以通过在RepositoryInterface中编写自定义@Query方法来选择特定的列。但是,我不想为不同的属性编写那么多方法。我试过了,但它一直返回整个对象。publicclassMySpecifications{publicstaticSpecificationpropertiesWithId(finalString[]properties,finalObjectid,finalStringidProperty){returnnewSpecification(){@OverridepublicPredicatetoPredicate(Rootroot,CriteriaQue

java - java.time.LocalDateTime 类型的属性在 Hibernate 中不能用作 JPA 查询参数

我有一个JPA实体,其属性类型为java.time.LocalDateTime。我使用javax.persistence.Converter注释来实现这一点。我可以加载实体并毫无问题地保存它,但是当我尝试执行这样的jpql查询时:TypedQueryq=em.createQuery("SELECTe"+"FROMEvente"+"WHERE:currentDateTime>=e.startDateTime",Event.class);q.setParameter("currentDateTime",LocalDateTime.now().withSecond(0).withNano(0

java - JPA:AttributeConverter 的参数化实例

我们正在开发一个连接到遗留数据库的应用程序。这是非常“无类型”的,几乎所有数据都使用字符串。更糟糕的是,它远非同质的:它对日期或时间('YYDDMM'、'HHMMSS'、毫秒)和boolean值('Y'/'N'、'X'/'')使用不同的模式,因为示例。我们想使用JPA(EclipseLink)和自定义转换器。问题是@Convert需要一个实现AttributeConverter的类,所以我们必须为每个模式创建新的类。我想要的是一个BooleanConverter类,它可以用值“Y”/“N”或“X”/“”实例化。这显然不符合JPA规范,但也许可以使用EclipseLink注释/配置。看着

java - 对象引用未保存的 transient 实例 - 在刷新 : Spring Data JPA 之前保存 transient 实例

我有以下3个模型:模型1:预订@EntitypublicclassReservation{publicstaticfinallongNOT_FOUND=-1L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)publicLongid;@OneToMany(mappedBy="reservation",cascade=CascadeType.ALL,orphanRemoval=true)publicListroomReservations=newArrayList();}模型2:房间预订:publicclassRoomReserva

JPA:在分离之后坚持(用于创建实体副本)使EntityManager缓存混淆

我使用此代码制作了实体的副本:EntityClassobj=em.find(...);em.detach(obj);obj.setId(null);obj.setName("New");em.persist(obj);em.flush();因此,问题是-如果我从该创建的副本中进行新副本,它们都指向EntityManagerCache中的最后一个创建的副本!//Call#1copymethodEntityobj=em.find(Entity.class,1);//oldobject,id=1em.detach(obj);obj.setId(null);em.persist(obj);//crea

java - 意外的 GC 行为 : some data always going into the tenure generation

运行一个非常简单的代码来尝试查看垃圾收集器的功能。Stringa=null;while(true){a=newString("no...");}我正在使用ParallelGC。我打印了GC结果,这是第一个(次要)GC。[GC[PSYoungGen:16448K->1616K(19136K)]16448K->1624K(62848K),0.0022134secs][Times:user=0.00sys=0.00,real=0.00secs]youngGen下降了14880K然而fullHeap只下降了14872K这是否意味着8k已经进入了tenure一代?我的理解是GC可能被称为类'a'

java - 接缝/hibernate : liquibase before JPA startup

我有一个在Weblogic容器中使用的JavaEEWeb应用程序(hibernate3、seam)。我想介绍用于模式迁移的Liquibase。目前我们使用我们想放弃它,因为它可能很危险。我希望迁移在部署时自动发生,所以我正在使用servlet监听器集成。在web.xml中,第一个监听器是:liquibase.integration.servlet.LiquibaseServletListener遗憾的是,这个监听器在Hibernate初始化后开始发挥作用,它会抛出缺少表的错误(因为模式是空的)。我像老板一样用google搜索了几个小时,现在有点困惑。提前致谢更新如果我设置,liquib

用于将复杂实体发布到 Spring Data REST/HATEOAS 服务的 Java 客户端

据我所知,提供了将复杂对象转换为正确HAL格式的方法。这当然是在编码框架本身中的对象时利用的。Resource和Link对象等为了一个用例:Company1是我系统中现有的Company。我想添加一个为Company1工作的新Employee下面是一个示例Employee对象,您将从基于SpringDataREST的服务接收到该对象。SpringHATEOAS还提供了自己构造这些对象的方法。{"id":null,"firstName":"bZWthNFk","lastName":"GtTnrqka","loginId":"zTk5rT","active":true,"_links":{