草庐IT

QueryDSL-JPA

全部标签

java - JPA 2 : multiple column usage in foreign keys

我使用Hibernate作为持久性提供程序并使用JPA2为我的实体建模。现在有一个问题出现了,我希望你能帮助我。在我的应用程序中,您可以打开一个游戏,在其中创建玩家组并在map上四处走动(方block(2d))。首先是我的实体定义:游戏:@EntitypublicclassGameimplementsSerializable{@Id@SequenceGenerator(name="gen_gameid",sequenceName="seq_gameid")@GeneratedValue(generator="gen_gameid")privatelonggameid;/***Playi

java - 使用 Hibernate/JPA 根据具体情况从 @Embedded 属性中排除字段

我正在将Hibernatehbm.xml文件中的一些类迁移到JPA注释。我们有一个可嵌入的类Address用于多个地方。每个地方都使用Address中不同的属性子集。(为简洁起见省略了getter/setter)@EmbeddablepublicclassAddress{Stringemail;Stringaddress;Stringcity;Stringstate;Stringzip;Stringcountry;}@Entity@Table(name="customer")publicclassCustomer{@Embedded@AttributeOverrides({@Attri

java - 如何在不在 JPA 中加载相关实体的情况下使用外键保存实体?

这个问题在这里已经有了答案:Hibernatepersistentitywithoutfetchingassociationobject.justbyid(4个答案)关闭上个月。我有两个实体:Account{@IdLongid;}Preference{...@ManyToOneprivateAccountaccount;}保存首选项时,我有accountId,但没有帐户实体。在这种情况下我应该如何保存偏好?加载帐户实体并将其设置为首选项?对我来说,这似乎是对数据库的错误访问。是否有一个可持久化的accountId字段并将Account字段设置为只读?同时拥有accountId字段和Ac

java - 当我使用 JPA 查询的 getResultList() 时,结果是分离的还是管理的?

当我有一个调用.getResultList()的JPA查询时,它会返回一个对象列表。该列表中的对象是托管的还是分离的?也就是说,如果我对它们进行了更改,我是否需要担心以后合并或持久化它们,或者这些更改是否会自动获取? 最佳答案 是的,从.getResultList()返回的对象是被管理的。当您对托管对象进行更改时,您不必担心合并,因为这些更改将由EntityManager自动获取。当用于加载该对象的EntityManager为close()时,托管对象将分离。,clear()或detach().分离的对象不再受管理,您应该合并以让E

java - 使用 JPA EntityManager 连接两个不相关的表

当两者之间没有FK/PK关系时,我需要在属性上加入两个JPA实体。我正在使用Hibernate并且可以像这样使用HQL查询selectfoo,barfromFooEntityasfoo,BarEntityasbarwherefoo.someothercol='foo'andfoo.somecol=bar.somecol但是,我想避免对Hibernate的依赖,而是使用EntityManager。请帮忙。 最佳答案 您的查询是有效的JPQL,并且不使用Hibernate特定功能(只是缺少bar和from之间的空格)。在JPA2.0规范

java - @Index 注释在 JPA 2.1 中如何工作?

这个问题在这里已经有了答案:Theannotation@Indexisdisallowedforthislocation(3个答案)关闭9年前。我正在尝试测试自2.1以来可用的JPA的@Index注释。但是我找不到文档如何使用它。当我尝试时:@Index(columnList="firstName")privateStringfirstName;..然后Eclipse说:“此位置不允许注释@Index”有人知道怎么用吗?或者已经找到它的文档?:-)感谢您的任何建议!

java - 动态更改持久性单元 - JPA

persistence.xml中的持久性单元是在构建应用程序期间创建的。由于我想在运行时更改数据库url,有没有办法在运行时修改持久性单元?我应该在分发后使用不同于预绑定(bind)数据库的其他数据库。我正在使用EclipseLink(JPA2.1) 最佳答案 保持持久性单元文件(Persistence.xml)不变。您可以按如下方式覆盖其中的属性。EntityManagerFactorymanagerFactory=null;MappersistenceMap=newHashMap();persistenceMap.put("ja

java - JPA 为什么要使用 createNamedQuery

我正在将我的DAO层从使用HibernateAPI更改为使用纯JPAAPI实现。看起来推荐的方法是使用实​​体管理器中的createNamedQuery。命名查询存储在模型/实体类的注释中。这对我来说没有意义。为什么要在模型对象中定义JPA查询,但在DAO中使用它们。仅在DAO本身内部使用createQuery并在DAO中定义查询或者甚至仅在DAO本身中定义命名查询是否更有意义?对于那些已经使用JPAAPI实现了DAO层的人,您是如何定义查询的? 最佳答案 我使用命名查询。这样做有两个原因:它将它们放在一个更中心的位置,而不是分散在

java - spring data jpa limit pagesize,如何设置为maxSize

我有一个要求是按可分页和不可分页进行搜索,在我的Java代码中,我使用springdatajpaPageable类,Pageablepageable=newPageRequest(queryForm.getPageNumber()-1,queryForm.getPageSize(),Sort.Direction.ASC,"id");Pagepage=repository.fullTextSearch(queryForm.getText(),pageable);而且我不想改变返回结构,那么当不可分页的情况下(搜索所有),如何将pageSize值设置为MAX?

java - 如何使用 JPA 解决 javax.persistence.EntityNotFoundException(不是使用 @NotFound)

我们正在使用JPA从数据库加载一些东西。一些实体之间可能有可选的关系,例如@EntitypublicclassFirst{....@OneToOne(cascade={CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REFRESH,CascadeType.DETACH})@JoinColumns(value={JoinColumn(name="A_ID",referencedColumnName="A_ID",insertable=false,updatable=false),JoinColumn(name="B_ID",refere