草庐IT

computer-database-jpa

全部标签

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 - 为什么 Map.compute() 采用 BiFunction

我不明白为什么Map.compute()和Map.computeIfPresent()拿BiFunction参数以及Map.computeIfAbsent()一个Function:Vcompute(Kkey,BiFunctionremappingFunction)VcomputeIfPresent(Kkey,BiFunctionremappingFunction)VcomputeIfAbsent(Kkey,FunctionmappingFunction)我期待一个普通的Function,分别将旧值映射到新值。一个Supplier为新的值(value)。调用者已经拥有key(第一个参数)

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

java - JPA Criteria query group by 只使用id

这是一个示例实体:publicclassAccount{@IdLongidDoubleremaining;@ManyToOneAccountTypetype}publicclassAccountType{@IdLongid;Stringname;}现在我创建一个条件查询,加入如下:CriteriaBuildercriteriaBuilder=getEntityManager().getCriteriaBuilder();CriteriaQuerycriteriaQuery=criteriaBuilder.createquery();RootaccountRoot=criteriaQue

java - 如何使用JPA Query 向数据库中插入数据?

我的准备语句有问题,但我无法找出错误所在。我正在尝试将URI链接插入数据库。@RepositorypublicinterfaceLoggerDaoextendsCrudRepository{@Query("selecttfromLoggertwheret.user.id=?#{principal.id}")ListfindAll();@Modifying@Query(value="insertintoLoggert(t.redirect,t.user.id)VALUES(:insertLink,?#{principal.id})",nativeQuery=true)@Transacti

java - 在抽象 JPA DAO 中抽象命名查询

我有一个抽象的DAO类,它使用参数化类型E(实体)和K(主键)。在每个实体中,我都有一个@NamedQuery。我想在不知道其确切名称和参数名称的情况下动态调用此命名查询。例如,假设以下实体City@Entity(name="CITY")@NamedQuery(name="findCityByname",query="FROMCITYcWHEREname=:CityName")publicclassCity{//...}和这个CityDaopublicclassCityDaoextendsAbstractDao{publicCityDao(){super(City.class);}}我