草庐IT

QueryDSL-JPA

全部标签

java - Jersey API + JPA/Hibernate Criteria 延迟加载不起作用

这是我拥有的一个简化的POJO:@Entity@Table(name="Patient")@Inheritance(strategy=InheritanceType.SINGLE_TABLE)@DiscriminatorColumn(name="Discriminator",discriminatorType=DiscriminatorType.STRING)@DiscriminatorValue(value="P")@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)publicclassPatientimplementsSerializ

java - 如何在 Netbeans 中使用 Eclipse-Link JPA 应用静态编织 Ant 任务?

我正在使用Netbeans7.1.1和Glassfish3.1.2服务器。作为JPA提供者,我决定使用Netbeans附带的eclipse-link2.3.0。因为我想使用惰性抓取并且我的项目包含大约45个JPA实体类,它们之间确实有很多关系,所以我决定使用静态编织。此外,@Entity类位于单独的类库项目中,而persistence.xml位于EJB项目中。我已经按照此处的说明进行操作:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Stati

java - 动态设置 JPA 持久性属性

假设我有以下persistence.xml,连接url、用户和密码都是硬编码的。以下是针对Hibernate3.2的。对于Hibernate3.5++,我们必须将“hibernate.connection”更改为“javax.persistence”。但是让我问这个问题,不管文字是“hibernate.connection”还是“javax.persistence”。org.hibernate.ejb.HibernatePersistencefalse但是,我们需要动态设置url、用户和密码。有一个建议的身份验证服务器,它提供url、用户和密码。这样我们就不需要单独配置无数使用某种形式

java - 在 JPA/Hibernate 中建模二对多关系

我有以下实体关系问题。一个“游戏”必须有两个(而且只有两个)“团队”对象。一个“团队”可以有多个“游戏”据我所知,这是一种二对多关系。但是......我不知道如何在JPA中对此建模。例如,我正打算做这样的事情......@EntitypublicclassTeamextendsBaseObject{privateLongid;privateSetgames;@Id@GeneratedValue(strategy=GenerationType.AUTO)publicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}@One

java - 如何在 Oracle 10gR2 和 JPA 中做到不区分大小写和不区分重音?

在J2EE项目中,使用JPA,如何强制类似查询不区分大小写和重音?我知道更改session变量NLS_COMP和NLS_SORT,但我想知道是否有另一个技巧可以在不更改session变量的情况下在查询本身中执行此操作 最佳答案 (...)usingJPA,howcanIforcealikequerytobecaseinsensitiveandaccentinsensitive?我的答案是面向JPQL的。对于前一部分,你可以这样做:wherelower(name)like'johny%';对于后面的部分,我不知道执行此操作的标准JPQ

java - JPA 标准 API : How to select property in nested collection

我有一个类Customer和CustomerDependant实体。Customer与其家属有多对多的双向关系。我需要查找按姓名和相关姓名过滤的客户。它在JPQL中做了类似这样的事情:selectcjoinfetchc.dependantsdfromCustomercwherec.namelike'foo'andd.namelike'foo'我如何使用JPA标准查询做同样的事情? 最佳答案 摘自JPA规范第6.5.4节CriteriaQueryq=cb.createQuery(Department.class);Rootd=q.fr

java - 如何使用 querydsl 动态添加 where 子句?

我一直在寻找文档并尝试了一些方法,但我无法使用querydsl动态添加where子句:伪代码,我需要类似“if”的东西:booleanaddWhereClause=false;QAddressaddress=QAddress.address;JPQLQueryquery=newJPAQuery(getEntityManager());query.from(address).if(addWhereClause).where(address.company.isNotNull())或者更好的whereIf:booleanaddWhereClause=false;QAddressaddres

java - JPA:在空的多边上将获取结果加入到 NULL

我在User和GameMap之间有一个一对多的关系。一个用户可以拥有多张map。用户类://LAZYLOADED@OneToMany(cascade=CascadeType.ALL,mappedBy="creater")privatefinalListmaps=newArrayList();但是,有时我需要预先加载map。为了避免在关闭session后出现LazyInitializationException,我有两种检索用户的变体。用户存储库:publicinterfaceUserRepositoryextendsJpaRepository{OptionalfindById(Long

java - 如何使用 JPA 在 Hibernate 4 中启用 Multi-Tenancy ?

在我看来好像supportformultitenancyhasbeenaddedtohibernate近六个月了,updatedatleastoncesince.在JPA之外获取Multi-Tenancysession看起来相当简单:Sessionsession=sessionFactory.withOptions().tenantIdentifier("jboss").openSession();但是如何在通过JPA使用hibernate的应用程序中启用它呢?(如果可能的话)。提前致谢。 最佳答案 您可以通过persistence

java - JPA Native Query 设置空参数

这是我的代码部分:Queryq=em.createNativeQuery("insertintotable_name(value_one,value_two,value_three)values(?,?,?)");q.setParameter(1,value1);q.setParameter(2,value2);q.setParameter(3,value3);q.executeUpdate();value3有时可以为null(Date类对象)。如果它为空,则抛出以下异常:Causedby:org.postgresql.util.PSQLException:ERROR:column"v