小编You*_*sef的帖子

从N次出现开始返回子串

如何QueryDsl在查询JPA中使用此功能

SUBSTRING_INDEX(str,delim,count)
Run Code Online (Sandbox Code Playgroud)

strcount出现分隔符之前从字符串返回子字符串delim.

更新1: 尝试@MaciejDobrowolski之后的解决方案:

QAcheteur ach = new QAcheteur("ach");
new JPAQuery(entityManager).from(ach)
 .list( Expressions.stringTemplate("SUBSTRING_INDEX({0},',',1)", ach.ancestors)  );
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

java.lang.IllegalStateException: No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode 
 \-[METHOD_CALL] MethodNode: '('
    +-[METHOD_NAME] IdentNode: 'SUBSTRING_INDEX' {originalText=SUBSTRING_INDEX}
    \-[EXPR_LIST] SqlNode: 'exprList'
       +-[DOT] DotNode: 'acheteur1_.ancestors' {propertyName=ancestors,dereferenceType=PRIMITIVE,getPropertyPath=ancestors,path=ach.ancestors,tableAlias=acheteur1_,className=persistence.Acheteur,classAlias=ach}
       |  +-[ALIAS_REF] IdentNode: 'acheteur1_.ID_ACHETEUR' {alias=ach, className=persistence.Acheteur, tableAlias=acheteur1_}
       |  \-[IDENT] IdentNode: 'ancestors' {originalText=ancestors}
       +-[QUOTED_STRING] LiteralNode: '',''
       \-[NUM_INT] LiteralNode: '3'
Run Code Online (Sandbox Code Playgroud)

更新2 :(解决方案) 关注@DraganBozanovic的回答我创建我的自定义方言来获取No data type for node: org.hibernate.hql.internal.ast.tree.MethodNode因为SUBSTRING_INDEX未知JPA因此我们使用自己的方言使其工作.

package dialect;

import …
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa querydsl

7
推荐指数
1
解决办法
854
查看次数

使用react或vue增强多页面应用程序的各个部分

我正在开发一个企业应用程序与javahibernatespring mvc在服务器端,并使用jquery在客户端(不是SPA).

现在在搜索页面中我使用ajax并获得唯一的json响应,但我不想在每个搜索或分页请求中写下面这样的内容.

function(ajaxData) {
    ....
    $('#search').html('' +
        '<div class="search-container">' + 
          '<div class="search-item">' +
             '<div class="title-item">'+ajaxData.title+'</div>' + 
             ...
             ...
          '</div>' + 
        '</div>'
    )
    ....
}
Run Code Online (Sandbox Code Playgroud)

我认为使用此页面中的jsx一个reactvue 组件很容易刷新结果.

我还想重用一些html块,我认为用react或者很容易vue

我曾经建立了一个小型的SPA项目,它是关于npmwebpack捆绑的,但我真的不想使用它们,因为我有一个多页面应用程序,它非常适合我的项目.

我认为同样的事情facebook是做的,他们使用反应,但facebook不是SPA.

我怎样才能实现这种混合方式?

javascript jquery reactjs vue.js

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

如何指定消息是否应显示在p:growl或p:messages中?

在我的Facelets页面中,我有这个:

<p:growl id="msg1" life="1500"/>
Run Code Online (Sandbox Code Playgroud)

和另一个

<p:messages id="msg2"/>
Run Code Online (Sandbox Code Playgroud)

我只需要显示以下消息<p:messages>.

FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("veillez saisir les champs obligatoires (*)", null));
Run Code Online (Sandbox Code Playgroud)

但它也出现了<p:growl>.

如何指定消息的显示位置?

messages primefaces jsf-2

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

在Spring MVC中更改URL

我在URL中有一个这样的登录表单http://localhost:8080/myproject/login

<form:form method="POST"  modelAttribute="auth" action="welcome" id="formlogin">
[...]
</form:form>
Run Code Online (Sandbox Code Playgroud)

和这样的控制器:

@RequestMapping(value = "/welcome")
public String welcome([...]) {

    [...]

    if(logins.size() != 1) { 
        return "login"; 
    }

    [...]

    return "welcome";
}
Run Code Online (Sandbox Code Playgroud)

问题是,当登录名不正确时,我得到了此URL,http://localhost:8080/myproject/welcome但我想获取http://localhost:8080/myproject/login并获取welcome以防万一登录名正确。

第一次更新

就我而言,最好的使用方式

return "redirect:/login"
Run Code Online (Sandbox Code Playgroud)

但在我必须添加这样的属性之前

model.put("errorlogin", true);
Run Code Online (Sandbox Code Playgroud)

处理这个

<c:if test="${ errorlogin == true }">
<label class="loginerror">Login Error</label>
</c:if> 
Run Code Online (Sandbox Code Playgroud)

但是错误消息没有显示,而是我得到了这个URL

http://localhost:8080/pagesjaunes/login?errorlogin=true
Run Code Online (Sandbox Code Playgroud)

我设置一个属性,然后得到一个参数。

第二次更新

我解决了这个问题:

<c:if test="${ param.errorlogin == true }">
<label class="loginerror">Login Error</label>
</c:if>
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

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

@BatchSize但在@ManyToOne案例中有很多往返

我使用hibernate spring-data-jpa和querydsl进行分页,并且我只使用@BatchSize(size=10)一次数据库往返.

@Entity
@Table(name = "appel_offre", catalog = "ao")
public class AppelOffre implements java.io.Serializable {

    ....
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "appelOffre")
    @BatchSize(size=10)
    public Set<AoActivite> getAoActivites() {
        return this.aoActivites;
    }
Run Code Online (Sandbox Code Playgroud)

并且:

@Entity
@Table(name = "ao_activite", catalog = "ao")
public class AoActivite implements java.io.Serializable {
    .....
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "ID_ACTIVITE", nullable = false)
    @BatchSize(size=10)
    public Activite getActivite() {
        return this.activite;
    }
Run Code Online (Sandbox Code Playgroud)

我的查询

JPAQuery query = new JPAQuery(entityManager).from(ao) 

    .leftJoin( ao.acheteur, ach ).fetch()

    .leftJoin( ao.aoActivites , ao_ac )
    .leftJoin( …
Run Code Online (Sandbox Code Playgroud)

java performance spring hibernate jpa

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

Eclipse Luna调试器中的请求参数值

如何在Eclipse Luna调试器中查看请求参数值?

java eclipse spring-mvc

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

将一个查询字符串参数解析为Javascript数组

我有这个查询字符串 www.example.com/yy?q=how+can+i+get+this&o=1&source=home

如何q使用javascript或jquery 解析数组中的参数值?

我想要像这样的数组

['how', 'can', 'i', 'get', 'this']
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

自定义冗余的Checkbox输入Jquery代码

我有这个工作代码吼叫,我认为他有点太长,多余的我可以自定义吗?

$( "#unique" ).click(function() {

    if ( $( this ).is(':checked') ) {
        $( ".lotud" ).show();
        $( "#add_lot" ).hide();
        $( "#lots_rows_contnr" ).hide();

        $(".lotud input").prop({disabled: false})
        $("#lots_rows_contnr input").prop({disabled: true})
    }
    else {
        $( ".lotud" ).hide();
        $( "#add_lot" ).show();
        $( "#lots_rows_contnr" ).show();

        $(".lotud input").prop({disabled: true})
        $("#lots_rows_contnr input").prop({disabled: false})
    }

});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

由带分隔符的字符串分组

我有一张桌子,我为他的祖先的每一个记录保存

+----+------------+
| id | ancestors  |
+----+------------+
|  1 | ,1,        |
|  2 | ,2,        |
|  3 | ,3,1,      |
|  4 | ,4,2,      |
|  5 | ,5,3,1,    |
|  6 | ,6,4,2,    |
|  7 | ,7,5,3,1,  |
+----+------------+
Run Code Online (Sandbox Code Playgroud)

如何按照id这种方式分组,而group by ','id','不是group by id得到这样的结果:

+----+------------+
| id | count      |
+----+------------+
|  1 | 4          |
|  2 | 3          |
|  3 | 3          |
|  4 | …
Run Code Online (Sandbox Code Playgroud)

mysql sql

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

QueryDsl 中的 LIKE 和 CONCAT

如何编写此查询 queryDsl

SELECT a.id, 
(SELECT count(*) FROM ancestors_table t where t.ancestors LIKE CONCAT('%,',a.id,',%') )
  FROM ancestors_table a; 
Run Code Online (Sandbox Code Playgroud)

我与这LIKE CONCAT('%,',a.id,',%')部分斗争。

解决方案

where(t.ancestors.like(
                Expressions.stringTemplate("'%,'")
               .concat(Expressions.stringTemplate("{0}" , a.id ))
               .concat(Expressions.stringTemplate("',%'")) 
))
Run Code Online (Sandbox Code Playgroud)

querydsl

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