小编Sur*_*rya的帖子

如何添加确认对话框

我想在编辑行时添加确认对话框,或者如何在任何操作时提示用户确认.我应该在下面的代码中使用哪个对话框.

<h:commandLink value="EditPage" action="#{countryBean.editCountryByCountryCode(true)}"  class="edit_icon" >
             <f:setPropertyActionListener target="#{countryBean.editCountryId}" value="#{countryLang.countryCode}" />
             </h:commandLink> 
Run Code Online (Sandbox Code Playgroud)

jsf-2

7
推荐指数
2
解决办法
2万
查看次数

使用jpa条件查询获取列的最大值

我想relationId从表中获取列的最大值ElementRelationType 我已经编写了代码,但它给出了错误

CriteriaBuilder cb1 = entityManager.getCriteriaBuilder();
CriteriaQuery<ElementRelationTypes> cq1 = cb1.createQuery(ElementRelationTypes.class);
Root<ElementRelationTypes> root = cq1.from(ElementRelationTypes.class);
cq1.select(cb1.max(root.get("relationId")));
Run Code Online (Sandbox Code Playgroud)

select和max都给出了如何获得整数最大值的错误

public class ElementRelationTypes {

private RelationId relationLangPK=new RelationId(); 

private Country country;
private Status status;


@EmbeddedId
public RelationId getRelationLangPK() {
    return relationLangPK;
}
public void setRelationLangPK(RelationId relationLangPK) {
    this.relationLangPK = relationLangPK;
}

@Transient
public Integer getRelationId() {
    return getRelationLangPK().getRelationId();
}
public void setRelationId(Integer relationId) {
    getRelationLangPK().setRelationId(relationId);
}
@Transient
public Language getLanguage() {
    return getRelationLangPK().getLanguage();
}
public void setLanguageCode(Language language) {
    getRelationLangPK().setLanguage(language);
} …
Run Code Online (Sandbox Code Playgroud)

jpa criteria-api

5
推荐指数
1
解决办法
2万
查看次数

count*with where子句使用JPA条件查询

我想查找related_elements表的记录,其中relationId属于列表

假设Set tempSet包含[2,3,4]我必须使用jpa条件查询检查related_element表中包含的这些值

CriteriaBuilder cb1=entityManager.getCriteriaBuilder();
        CriteriaQuery<RelatedElements> cq1=cb1.createQuery(RelatedElements.class);
        Root<RelatedElements> RelatedElementsRoot=cq1.from(RelatedElements.class);
    for (Integer tSet : tempSet) {
            ParameterExpression<Integer> pRelatedElement=cb1.parameter(Integer.class);
            cq1.multiselect(cb1.count(RelatedElementsRoot.<RelatedElements>get("relatedElementsPk").<Integer>get("relationId"))).where(cb1.equal(RelatedElementsRoot.get("relationId"), pRelatedElement));
            TypedQuery<RelatedElements> qry = entityManager.createQuery(cq1);
            qry.setParameter(pRelatedElement, tSet);
            count = entityManager.createQuery(cq1).getSingleResult().getRelationId();
        }
Run Code Online (Sandbox Code Playgroud)

但它现在正在工作......任何建议

第二次尝试

CriteriaBuilder cb1=entityManager.getCriteriaBuilder();
        CriteriaQuery<Integer> cq1 = cb1.createQuery(Integer.class);
        Root<RelatedElements> RelatedElementsRoot=cq1.from(RelatedElements.class);
        for (Integer tSet : tempSet) {
            ParameterExpression<Integer> pRelatedElement=cb1.parameter(Integer.class);
            cq1.multiselect(cb1.count(cq1.from(RelatedElements.class)));
            cq1.where((cb1.equal(RelatedElementsRoot.get("relatedElementsPk").get("relationId"), pRelatedElement)));
            TypedQuery<Integer> qry = entityManager.createQuery(cq1);
            qry.setParameter(pRelatedElement, tSet);
            count =qry.getSingleResult();
        }
Run Code Online (Sandbox Code Playgroud)

它在qry.setParameter上给出了异常

无法在类[java.lang.Integer]上找到适当的构造函数[从com.mcd.webex.model.RelatedElements中选择新的java.lang.Integer(count(*))as generatedAlias0,com.mcd.webex.model.RelatedElements as generatedAlias1 where generatedAlias0.relatedElementsPk.relationId =:param0]

criteria-api jpa-2.0

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

criteria-api ×2

jpa ×1

jpa-2.0 ×1

jsf-2 ×1