Tag: spring data jpa

Spring-Data-Jpa存储库 – 实体列名称的下划线

我在spring webmvc项目中使用spring-data-jpa。 我在我的一个实体的存储库上使用查询创建时遇到了问题。 您可以在下面看到我的实体,我的存储库和exception。 我的实体, @Entity @Table(schema = “mainschema”) @XmlRootElement public class Municipalperson implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(nullable = false) private Integer id; @Basic(optional = false) @Column(name = “municipal_id”, nullable = false) private Integer municipal_id; @Basic(optional = false) @Column(nullable = false, length […]

您是否应该在JPA中为每个表创建一个存储库?

您是否应该在JPA中为每个表创建一个存储库? 如果没有,您如何解决存储库数据库中的generics? 例如,下面是StoreRepository 。 它处理Store对象上的CRUD操作。 如果我希望存储库也保存StoreEvent对象,我将如何更改下面的接口以容纳这两个对象? @Repository public interface StoreRepository extends JpaRepository { public Store findByGuid(String guid); }

Spring Data JPA:嵌套实体的批量插入

我有一个测试用例,我需要将100’000个实体实例保存到数据库中。 我正在使用的代码执行此操作,但最多需要40秒才能将所有数据保留在数据库中。 从JSON文件中读取数据,该文件大小约为15 MB。 现在,我已经在自定义存储库中为另一个项目实现了批量插入方法。 但是,在这种情况下,我有很多顶级实体要坚持,只有几个嵌套实体。 在我目前的情况下,我有5个Job实体,其中包含大约约30个JobDetail实体的List。 一个JobDetail包含850到1100个JobEnvelope实体。 写入数据库时​​,我使用默认save(Iterable jobs)接口方法提交Job实体列表。 所有嵌套实体都具有CascadeType PERSIST 。 每个实体都有自己的表。 启用批量插入的常用方法是实现一个自定义方法,如saveBatch ,每saveBatch刷新一次。 但在这种情况下我的问题是JobEnvelope实体。 我不会将它们与JobEnvelope存储库保持JobEnvelope ,而是让Job实体的存储库处理它。 我正在使用MariaDB作为数据库服务器。 所以我的问题归结为以下几点:如何让JobRepository插入嵌套实体? 这些是我的3个问题: 工作 @Entity public class Job { @Id @GeneratedValue private int jobId; @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.PERSIST, mappedBy = “job”) @JsonManagedReference private Collection jobDetails; } 的JobDetail @Entity public class JobDetail { @Id @GeneratedValue […]

如何与Spring Data REST和JPA保持双向关系?

使用Spring Data REST。 如果您具有oneToMany或ManyToOne关系,则PUT操作在“非拥有”实体上返回200,但实际上不会保留已连接的资源。 示例实体。 @Entity(name = ‘author’) @ToString class AuthorEntity implements Author { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id String fullName @ManyToMany(mappedBy = ‘authors’) Set books } @Entity(name = ‘book’) @EqualsAndHashCode class BookEntity implements Book { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id @Column(nullable = false) String title @Column(nullable = false) String isbn @Column(nullable = […]

具有任意AND子句的动态spring数据jpa存储库查询

我正在使用Spring data jpa repositories ,需要为不同的字段提供搜索function。 在搜索之前输入字段是可选的。我有5个字段表示EmployeeNumber , Name , Married , Profession和DateOfBirth 。 这里我只需要用户查询给定的值,其他字段应该被忽略.Ex, Input : EmployeeNumber: ,Name:St,Married: ,Professsion:IT,DateOfBirth: Query : Select * from Employee e where Name like ‘St%’ and Profession like ‘IT%’; Input : EmployeeNumber:10,Name: ,Married: ,Professsion:IT,DateOfBirth: Query : Select * from Employee e where EmployeeNumber like ‘10%’ and Profession like ‘IT%’; 所以我们在这里考虑输入和查询的值。 […]