我目前面临的问题如下:
Exception in thread "main" javax.persistence.EntityExistsException: a different object with the same identifier value was already associated with the session: [de.entities.Genre#28]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1359)
at org
我有实体、产品和类别,它们与简单的、多到多的关系结合在一起。我想得到一个按单一类别过滤的产品的分页列表。我正在尝试编写一个Spring Data JPA自动方法或一个JPQL查询方法,该方法将生成类似于以下内容的SQL:
select [...] FROM ProductToCategory ptc INNER JOIN Product p ON ptc.product_id=p.id WHERE ptc.category_id=? LIMIT ? OFFSET ?
由于ProductToCategory联接表不是JPA entity,而且我不能在JPQL中引用它,所以我能想到的最接近的事情
使用激活器(play 2.0),我创建了一个基本的java项目。现在,我希望开始使用jpa和spring数据,而不是ebean。我在build.sbt文件中添加了以下依赖项(取自类型播放- spring - data -jpa项目),当我运行该项目时,会看到spring数据依赖项被下载。
build.sbt
name := """my-project"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins
我刚开始使用Spring Data Jpa,但我知道人们通常会在Java中创建一个“Model”/“Entity”类来表示数据库表中的一行数据。当我有一个具有3列/类属性的小型表时,这对我来说是有意义的,但是对于具有100列的表又如何呢?很难创建一个有100个属性的“Model”类?我这样问的原因是因为我在MySQL数据库表中存储了一个大型的火车站邻接矩阵。我想在我的Java Spring应用程序中与这些数据进行交互,但不知道如何做到这一点。 在这种情况下,我可能没有正确地存储数据,或者根本不应该使用Spring data JPA,我对此持开放态度。如果您有任何建议,我们将不胜感激! 谢谢。
嗯,这个问题几乎说明了一切。如何使用JPARepository更新实体?
JPARepository只有一个保存方法,它不会告诉我它实际上是在创建还是在更新。例如,我向数据库用户插入一个简单的对象,该对象有三个字段:firstname、lastname和age
@Entity
public class User {
private String firstname;
private String lastname;
//Setters and getters for age omitted, but they are the same as with firstname an
我使用Spring服务器和JPA来保存变量。
我在努力拯救:
@ElementCollection(fetch=FetchType.EAGER)
List<List<String>> Listarespostas = new ArrayList<List<String>>();
但显然出现了一个错误:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with nam
我最近正在开发一个spring应用程序(使用spring安全性和spring数据jpa)。
我最近遇到了这个错误,我不知道如何解决它:当我试图部署WAr时,我得到了以下信息:
org.glassfish.deployment.common.DeploymentException: CDI deployment failure:WELD-001408 Unsatisfied dependencies for type [Set<Service>] with qualifiers [@Default] at injection point [[BackedAnnotatedParame
我使用Postgres,有一个带有版本(Bigint)的表用于数据的版本控制,我希望它在手动sql和java框架中都能工作。
当使用java框架(Spring、JPA等)时,版本(例如,在JPA中使用@Version注释)将自动更新。
但是如何使用简单的sql来做同样的工作,我已经搜索了堆栈溢出并得到了解决方案,比如触发器/函数来解决这个问题。但是,当将框架和纯sql一起使用时,我不想破坏框架的功能。
我试图使用以下sql,但由于version引用错误而失败。
INSERT INTO customers(name, age, street, city, zip, version)
VALUE
如果我有一个PK,并且我对它进行了限制,会发生什么?我知道,当我试图在数据库中编写相同的实体时,它会覆盖它,而不是由于约束而产生冲突。问题是为什么?它会覆盖它,因为它是用hibernates - spring data jpa -编写的,方法是jpaRepository.save()。因此,如果实体具有相同的主键并且所有其他列都相同,则它会覆盖实体。
即使在以下情况下也会发生这种情况:我对3个VARCHAR列有一个约束:(name,version,type)我有一个PK,它是通过将3个VARCHAR附加到togather: name_version_type形成的
这是创建模式时在sql文件中
我在一个gradle项目上使用最新版本的spring、hibernate和spring,但是我得到了一个AbstractMethodError异常。下面是堆栈跟踪的一部分
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'EntityManagerFactory' defined in class path resource [com/ashken/config/JPADataConfig.class]: Bean instanti
我有两张桌子,下面是结构
CREATE TABLE IF NOT EXISTS nl_address (
id int NOT NULL GENERATED BY DEFAULT AS IDENTITY,
address_text varchar(100),
pincode varchar(6),
city_id int NOT NULL,
state_id int NOT NULL,
country_id int NOT null,
is_active boolean default true,
PRIMARY KEY (id),
CONSTRAINT f
我将JPA+Hibernate与PostGre SQL数据库一起用于J2SE项目。
我有两个实体A和B。A与B有@OneToMany关系。
在我的域模型中,A可能引用数百万B。当我向集合中添加一个新对象时,需要几分钟才能完成。
@OneToMany(cascade=CascadeType.PERSIST)
Collection<B> foo = new ArrayList<B>(); // might contain millions of records
//...
// this takes a lot of time
foo.add(new B());
我认为JP