草庐IT

survey_data_id

全部标签

java - Spring data mongodb repository findAll字段排除

我有一个关于springdatamongodb存储库的奇怪问题。我想从我的findAll请求中排除一个字段。我怎样才能做到这一点?这非常有效:@Query(fields="{'objectContentAsJson':0}")PagefindByObjectIdAndServiceIgnoreCase(StringobjectId,Stringservice,Pageablepageable);但是findAll没有机会:@Query(fields="{'objectContentAsJson':0}")PagefindAll(Pageablepageable);抛出:Causedby

java - Spring Data REST + JPA 从 OneToMany 集合中删除 [不是所有者端]

目前我们有一个问题(一个众所周知的问题)SpringDataJPA+SpringDataREST(HibernateasJPA实现)在尝试更新不是拥有方的集合(关系)时。映射如下:@Entity(name=Product.NAME)publicclassProduct{...@OneToMany(mappedBy="baseProduct",fetch=FetchType.LAZY,targetEntity=Variant.class)ListgetVariants(){...在另一个变体方面:@Entity(name=Variant.NAME)publicclassVariantex

java - 用于类继承的 Spring Data MongoDb

我想将不同的数据存储到MongoDb中的一个集合中,并让Spring数据bean具有适当的字段..抱歉,我跳过了细节。父bean:classAintachildren:classBextendsAdoublebclassCextendsAStringc所以,在mongo中有如下文档{a:1,b:2.3,c:"Test"}当我获取数据时,没问题。但是,当我从CrudRepository为B调用save方法时,它重写了所有数据,我丢失了C。我只知道一个不错的选择来创建带有增量更新的自定义保存方法,例如update.set("b",newvalue)...但有反射(reflection)。你

java - 在 Spring Data JPA 中使用注释连接两个以上的表

我有三个实体:A、B和C,它们之间的关系如下:classA{@ManyToManyListbs;//otherattributesandgettersetters}classB{@ManyToManyListcs;//otherattributesandgettersetters}classC{//otherattributesandgettersetters}但是从我当前的实体类中,我可以使用@JoinTable在任意2个表之间建立关系。但我想要的是将所有3个实体之间的关系保存在一个单独的表中,将这些实体的主键作为列。(外键)如果我们假设实体B和C已经保存(插入)到数据库中,我将插入

java - 左加入 spring data jpa 和 querydsl

我正在使用springdatajpa和querydsl,并且陷入了如何编写简单的查询以左连接两个表的问题。假设我有一个Project实体和一个在Project中定义了OneToMany关系的Task实体,我想做类似的事情:select*fromprojectpleftjointasktonp.id=t.project_idwherep.id=searchTermselect*fromprojectpleftjointasktonp.id=t.project_idwheret.taskname=searchTerm在JPQL中,它应该是:selectdistinctpfromProjec

java - 无法为我的实体生成 UUID ID

我正在使用以下工具开发Web项目:Spring4.x(SpringBoot1.3.3)hibernate4.xPostgreSQL9.x我是PostgresDB的新手,对于我的表,我决定(第一次)使用UUID标识符,但我遇到了一些麻烦......对于ID字段,我使用了Postgresuuid类型,并将uuid_generate_v4()设置为默认值。当我直接通过PSQL插入生成新行时,一切正常,但我无法通过我的应用程序创建新记录。例如,这是我在应用程序中声明实体的方式:@Entity@Table(name="users")publicclassUser{@Id@Type(type="p

分布式ID选型对比(2)

数据库号段模式一,引入依赖:mysqlmysql-connector-java8.0.19org.mybatis.spring.bootmybatis-spring-boot-starter2.2.2二,新建表CREATETABLE`id_generator`(`id`intNOTNULL,`max_id`bigintNOTNULLCOMMENT'当前最大id',`step`intNOTNULLCOMMENT'号段的布长',`biz_type`intNOTNULLCOMMENT'业务类型',`version`intNOTNULLCOMMENT'版本号',PRIMARYKEY(`id`))ENG

java - 父类中@Id 和基类中唯一序列的正确 JPA 映射是什么

我有一个类层次结构:abstractDomainObject{...@Id@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ")@SequenceGenerator(name="SEQ",sequenceName="SEQ_DB_NAME")@Column(name="id",updatable=false,nullable=false)privateLongid;...}BaseClassextendsDomainObject{...//Fillinblankherewherethisclass's@Idwi

java - 合并实体,更改其id,再次合并,导致 "mapped to a primary key column in the database. Updates are not allowed"错误

我有一个JPA程序,其中EclipseLink是持久性提供程序。当我合并用户实体、更改其ID并尝试再次合并同一用户实例时,会引发错误。我重写了我的代码,以最简单的方式说明我的问题。Useruser=userManager.find(1);userManager.merge(user);System.out.println("Userismanaged?"+userManager.contains(user);user.setId(2);userManager.merge(user);以上代码不在事务上下文中。userManager是一个注入(inject)了EntityManager的

java - 如何在 spring-data 中使用 CrudRepository 强制预加载?

我有一个包含List的实体,因此默认加载lazy:interfaceMyEntityRepositoryextendsCrudRepository{}@EntitypublicclassMyEntity{@IdprivateLongid;@OneToMany(mappedBy="bar")//lazybydefaultprivateListbars;}@EntitypublicclassBar{//somemore}问题:如何在执行repository.findOne(id)时强制预加载? 最佳答案 您可以使用leftjoinfet