【发布时间】:2020-08-29 20:58:01
【问题描述】:
@Entity
@Table(name="DMS_Document_Class")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class,property = "docClassindexID")
public class DMSDocumentClass {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="DocumentClass_Index_ID")
private long docClassindexID;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "DOCCLASS_GROUP",
joinColumns = {@JoinColumn(referencedColumnName ="DocumentClass_Index_ID")}, inverseJoinColumns = {@JoinColumn(referencedColumnName="groupID")})
@JsonManagedReference
private List<DMSGroupBean> groups;
@ManyToMany(mappedBy = "documentClass", fetch = FetchType.LAZY)
private List<DMSDocument> documents;
DMS 文档类
public class DMSDocument {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="Doc_Index_ID")
private long docID;
@OneToOne
@JoinTable(name = "DOCCLASS_DOCS",
joinColumns = {@JoinColumn(referencedColumnName ="Doc_Index_ID")},
inverseJoinColumns = {@JoinColumn(referencedColumnName="DocumentClass_Index_ID")})
@JsonBackReference
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
private DMSDocumentClass documentClass;
下面是我尝试查询注释的存储库类
@Query(value = "SELECT count(D.documents) from DMSDocumentClass D where D.docClassindexID = :classID")
public Long isDocClassHasDocument(@Param("classID") long classID);
当我尝试执行代码 sn-p
docClassRepo.isDocClassHasDocument(docClassID);
我得到如下输出
select
count(.) as col_0_0_
from
dms_document_class dmsdocumen0_ cross
join
docclass_docs documents1_, dms_document dmsdocumen2_
left outer join
docclass_docs dmsdocumen2_1_
on dmsdocumen2_.doc_index_id=dmsdocumen2_1_.doc_index_id
where
dmsdocumen0_.document_class_index_id=documents1_.document_class_document_class_index_id
and documents1_.doc_index_id=dmsdocumen2_.doc_index_id
and dmsdocumen0_.document_class_index_id=?
这里给出的是 count(.),它给出了 SQL 语法错误。我想获取特定文档类的文档数量,但它正在写入。在查询中。我应该传递什么来获取与文档类关联的文档数。
【问题讨论】:
-
您有什么要求不清楚?同时描述您的要求
-
Document_class 有列表
。我需要查询注释中单个 do ument_class 下的文档计数。 -
你到底要数什么?
标签: spring-boot spring-data-jpa spring-data jpql