草庐IT

computer-database-jpa

全部标签

java - JPA和Hibernate注解的关系

我是Spring世界的新手,我正在研究如何集成Hibernate和Spring框架我对Hibernate注解和JPA注解之间的关系有些疑惑。当我有类似以下实体类的东西时:packageorg.andrea.myexample.HibernateOnSpring.entity;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistenc

java - JPA 和枚举表(又名 "the one true lookup table")

问题由于缺少SQL枚举类型,不幸的是有点流行的数据库设计模式似乎是创建onetableforallenumvalues(谢谢你的链接,内森)。多年来,我看到过很多这种情况,但我目前正在努力解决的问题看起来像这样:ID|ENUM|VALUE-----+-------------+----------1|DAY_OF_WEEK|SUNDAY2|DAY_OF_WEEK|MONDAY...7|DAY_OF_WEEK|SATURDAY...18|PERSON_TYPE|EMPLOYEE19|PERSON_TYPE|MANAGER然后像这样使用-例如在人员表中:ID|NAME|TYPE----+-

【MyBatis中报错‘Error querying database. Cause: java.lang.NumberFormatException: For input string: “XX】

MyBatis中报错‘Errorqueryingdatabase.Cause:java.lang.NumberFormatException:Forinputstring:“XXX”’解决方案SpringBoot项目中通过MyBatisPlus在mapper中查询数据时报错:【通用异常:org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.exceptions.PersistenceException:Errorqueryingdatabase.Cause:java.lang.NumberFor

java - 使用 Spring JPA/Hibernate 的条件插入

我正在处理一个在集群环境中运行的项目,其中有许多节点和一个数据库。该项目使用Spring-data-JPA(1.9.0)和Hibernate(5.0.1)。我在解决如何防止重复行问题时遇到问题。为了举例,这里有一个简单的表格@Entity@Table(name="scheduled_updates")publicclassScheduledUpdateData{publicenumUpdateType{TYPE_A,TYPE_B}@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="id")privateUUIDid

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