草庐IT

java - 避免通过 JPA 将 'null' 值插入数据库表

我从JPA2开始,到目前为止感觉很舒服。但是当为具有默认值的NONNULL数据库字段保留具有null属性值的实体时,我遇到了问题。我希望能够将实体属性保留为空,并让数据库插入默认值。我当前的设置是带有PostgreSQL的openJPA。我有这个VERSION数据库表(Vorgabewert=默认值):Spalte|Typ|Attribute----------------+-----------------------------+----------------------------status_|smallint|notnullVorgabewert0time_|timesta

java - JPA 与 JTA : Persist entity and merge cascaded child entities

我与以下实体类具有双向一对多关系:0或1个客户0个或多个产品订单当持久化客户端实体时,我希望关联的产品订单实体也被持久化(因为它们到“父”客户端的外键可能已更新)。当然,所有必需的CASCADE选项都在客户端设置。但是,如果在引用现有产品订单时第一次持久化新创建的客户端,则它不起作用,如在这种情况下:产品订单“1”已创建并保留。工作正常。已创建客户“2”并将产品订单“1”添加到其产品订单列表中。然后它被坚持。不起作用。我尝试了几个方法,但没有一个显示出预期的结果。请参阅下面的结果。我在这里阅读了所有相关问题,但它们对我没有帮助。我在GlassFish3.1.2上的ApacheDerby

java - JPA 一对多 : List vs Set

我有两个实体:UserAccount和Notification。它们具有如下所示的关系。publicclassUserAccount{@Id@Column(name="USER_NAME")privateStringemailId;@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL)@JoinTable(name="USERS_NOTIFICATIONS",joinColumns={@JoinColumn(name="USER_NAME")},inverseJoinColumns={@JoinColumn(name="NOT

java - 如何使用接口(interface)和 JPA

首先我要说的是,我对JavaEE还很陌生,而且我还没有很强的Java理论背景。我无法理解如何在Java中将JPA与interfaces一起使用。为了说明我发现的难点,我创建了一个非常简单的示例。如果我有两个简单的接口(interface)Person和Pet:publicinterfacePerson{publicPetgetPet();publicvoidsetPet(Petpet);}publicinterfacePet{publicStringgetName();}还有一个实体PersonEntity实现了Person以及一个PetEntity实现了Pet:@Entitypubl

java - 如何使用包含关键字的属性创建 Spring JPA 存储库 findBy 查询?

这是我的问题的一个简化示例。我有这个存储库和实体类。publicinterfaceThingRepositoryextendsJpaRepository{ThingEntityfindByFooInAndBar(StringfooIn,Stringbar);}@EntitypublicclassThingEntity{@Column(name="FOO_IN",nullable=false,length=1)privateStringfooIn;publicStringgetFooIn(){returnfooIn;}publicsetFooIn(StringfooIn){this.fo

java - Spring Data JPA 的 findFirst 和 findTop 之间的技术差异

我最近开始使用Springdatajpa。如果有人能阐明技术差异SpringDataJPAfindFirst和findTop。区别,用法。谢谢 最佳答案 来自SpringDataJPA-ReferenceDocumentation,限制查询结果可以通过关键字first或top来限制查询方法的结果,这两个关键字可以互换使用。可以将可选数值附加到top/first以指定要返回的最大结果大小。如果省略数字,则假定结果大小为1。使用Top和First限制查询的结果大小UserfindFirstByOrderByLastnameAsc();U

java - 如何使用 JPA(或至少使用 Hibernate)处理大型数据集?

我需要让我的网络应用程序处理非常庞大的数据集。目前,我得到OutOfMemoryException或1-2分钟后生成的输出。简单来说,假设我们在DB中有2个表:Worker和WorkLog,第一个表大约有1000行,第二个表有10000000行一。后一个表有几个字段,包括“workerId”和“hoursWorked”字段等。我们需要的是:计算每个用户的总工作时数;每个用户的工作时段列表。对于普通SQL中的每个任务,最直接的方法(IMO)是:1)selectWorker.name,sum(hoursWorked)fromWorker,WorkLogwhereWorker.id=Work

java - 你喜欢 JPA 2.0 的 Criteria api 吗?你在框架中使用它吗?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我习惯于在Hibernate中使用CriteriaAPI,只是观察了JPA2.0中的Criteria是如何工作的。在Hibernate的Criteria中,我最喜欢的是我们可以轻松地使用Criterions进行组合。JPACriteria对我来说似乎很重,而且不如HibernateCriteria流畅。对我来说,与Hibernate相比的主要好处之一似乎

java - Spring JPA 存储库事务性

1个关于SpringJPA存储库事务性的快速问题。我有一个未标记为事务并调用SpringJPA存储库方法的服务userRegistrationRepository.deleteByEmail(email);它被定义为@RepositorypublicinterfaceUserRegistrationRepositoryextendsJpaRepository{UserRegistrationfindByEmail(Stringemail);voiddeleteByEmail(Stringemail);}问题是它失败并显示“没有EntityManager具有可用于当前线程的实际事务-无法

春季数据JPA + vaadin bean配置

我正在使用不带SpringBoot的SpringData,带有PostgreSQL和Vaadin的JPA创建应用程序。我正在尝试在vaadin标签上显示来自SQL表的数据。我的问题是这是无效的,我认为这是一个豆类创造问题。很抱歉粘贴了许多代码行,但我不知道问题可能在哪里。主要的VaadinUI:@Theme("valo")@SpringUI@SuppressWarnings("serial")publicclassMyUIextendsUI{privateUserRepositoryusersRepo;@AutowiredpublicMyUI(UserRepositoryusersRepo){