草庐IT

QueryDSL-JPA

全部标签

java - Hibernate 和 Hibernate JPA 的区别

我发现了很多类似的问题DifferencebetweenHibernatelibraryandHibernateJPAlibraryWhat'sthedifferencebetweenJPAandHibernate?similarityanddifferencebetweenjpaandhibernate但是没有人回答我的下一个问题。使用org.hibernate.SessionFactory和JPAjavax.persistence.EntityManager实现的经典hibernate方法之间有什么区别?我听说,这个JPA实现使用org.hibernate.SessionFacto

java - 在 JPA 查询中使用 CURRENT_DATE 的示例

谁能告诉我如何在JPA查询中使用CURRENT_DATE的示例?CURRENT_DATE在JPA中指定,但我无法使其工作。我总是遇到unexpectedtoken[CURRENT_DATE]异常。既然它在JPA中指定,所有提供者都应该遵守它,对吧?顺便说一句,我正在使用EclipseLink2.0。 最佳答案 可以这样使用:Queryquery=manager.createQuery("SELECTcFROMCITIEScWHEREc.founded=CURRENT_DATE");for(Objectcity:query.getRe

java - 需要帮助创建 JPA 条件查询

我正在使用Glassfish和JSF构建我的第一个JavaEEWeb应用程序。我对条件查询还很陌生,我有一个查询需要执行,但是javaee6教程的示例似乎有点单薄。无论如何,我很难创建查询。目标:我要拉下存储文档最多的公司。公司与文档之间存在一对多关系。Documents与多个表之间存在ManyToOne关系,“usertype”列将它们区分开来。MySQL查询:SELECTUSERID,COUNT(USERID)ASCNTFROMDOCUMENTSWHEREUSERTYPE="COMPANY"GROUPBYUSERIDORDERBYCNTDESC谢谢--更新--根据用户反馈,这是我目

java - 连接多个表时如何使用 JPA Criteria API

这是对此的进一步问题:HowtouseJPACriteriaAPIinJOINCriteriaBuildercriteriaBuilder=em.getCriteriaBuilder();CriteriaQuerycriteria=criteriaBuilder.createQuery(Company.class);RootcompanyRoot=criteria.from(Company.class);Joinproducts=companyRoot.join("dentist");JoincityJoin=companyRoot.join("address.city");//Com

java.lang.ClassNotFoundException : javax. 持久性。用 JPA 找不到持久性

我正在练习JPAAPI。我得到一个错误java.lang.ClassNotFoundException:javax.persistence.Persistencecannotbefound我的代码如下:EntityManagerFactoryemf;emf=Persistence.createEntityManagerFactory("mail");EntityManagerem=emf.createEntityManager();Queryquery=em.createQuery("SELECTvFROMVersionv");Listversions=query.getResultL

java - Oracle 将空字符串视为 Java/JPA 程序员的 NULL 问题

您如何处理Oracle将空字符串作为null存储在数据库中的情况?我希望它存储为空字符串,因为它不是NULL,因为发出查询会更容易。这样的事情会选择空字符串和非空字符串,但不会选择空值select*frommytablewheremyfieldlike'%';如果我还想选择空值(最初应该是空字符串),我必须这样选择:select*frommytablewheremyfieldlike'%'ormyfieldisnull;我很乐意在以后的sql语句中一直跳过ormyfieldisnull我目前想到的解决方案是在应用程序级别处理这个问题,例如,在实体中,我将我所有的字符串字段默认值初始化为

java - 使用 JPA 和 Hibernate 将 Java boolean 值映射到 Oracle Number 列

我在我的模型中创建了一个这样的属性:publicclassClient{privateBooleanactive;}我的RDBMS是Oracle,active列的类型是NUMBER(1,0)。如何使用RestrictionsAPI实现以下功能?criteria.add(Restrictions.eq("active"),object.isActive()); 最佳答案 Hibernate自动将BooleanJava类型映射到OracleNUMBER(1,0)。因此,您可以在实体映射、JPQL或Criteria查询中使用Boolean

java - JPA实体没有主键?

我有一个实体类:@Entity@Table(name="CMC_MAP_SERVER_INFO")@NamedQuery(name="CmcMapServerInfo.getMapServer",query="SELECTcFROMCmcMapServerInfoc")publicclassCmcMapServerInfoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Column(name="APPLICATION_NAME")privateStringapplicationName;privateS

java - JPA (Hibernate) 和自定义表前缀

是否可以覆盖JPA/Hibernate中的表名以便为所有项目实体添加一个公共(public)前缀?例如,能够通过“JBPM5_”前缀为所有JBPM5表添加前缀。已接受答案的示例:publicclassJBPM5NamingStrategyextendsImprovedNamingStrategy{publicStringclassToTableName(StringclassName){returnStringHelper.unqualify(className);}publicStringpropertyToColumnName(StringpropertyName){returnp

java - 具有空值的 JPA 复合主键

我在oracle数据库中有一个包含客户数据的表。这是一个简化的定义:CUSTOMER(CUSTOMER_IDNUMBERNOTNULL,SOURCE_SYSTEMVARCHAR2(30),FULL_NAMEVARCHAR2(360),PHONE_NUMBERVARCHAR2(240))此表的主键是(CUSTOMER_ID,SOURCE_SYSTEM)。该表有许多SOURCE_SYSTEM为空的行。在数据库级别,没有问题,但是当我尝试通过JPA实体访问这些行中的任何一行时,它会导致许多问题:1:使用em.find()获取具有空SOURCE_SYSTEM的行总是会返回空值。2:如果表中不存