小编sum*_*mit的帖子

java.lang.ClassNotFoundException:org.springframework.boot.SpringApplication Maven

我正在尝试创建一个spring mvc应用程序.这是我的pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.acme</groupId>
    <artifactId>test</artifactId>
    <name>springmvc</name>
    <packaging>jar</packaging>
    <version>1.0.0-BUILD-SNAPSHOT</version>
    <properties>
        <org.springframework-version>3.1.1.RELEASE</org.springframework-version>
        <org.aspectj-version>1.6.10</org.aspectj-version>
        <org.slf4j-version>1.6.6</org.slf4j-version>
    </properties>

    <repositories>
        <repository>
            <id>spring-milestone</id>
            <url>http://repo.spring.io/libs-milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

    <pluginRepositories>
        <pluginRepository>
            <id>spring-milestone</id>
            <url>http://repo.spring.io/libs-milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>
            <exclusions>
                <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>

        <!-- AspectJ -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${org.aspectj-version}</version>
        </dependency>

        <!-- Logging -->
        <dependency> …
Run Code Online (Sandbox Code Playgroud)

java spring maven

33
推荐指数
6
解决办法
11万
查看次数

子选择在休眠标准中

我有一个带有列名的sql表A.

name, id1, id2, val1
Run Code Online (Sandbox Code Playgroud)

和一个带有列名的表B.

id1, id2, key1, key2
Run Code Online (Sandbox Code Playgroud)

这是我的SQL查询

SELECT
  v1.id1,
  v1.id2
FROM (
       SELECT
         A.id1,
         A.id2,
         min(val1) AS x
       FROM A
         JOIN B ON A.id1 = B.id1 AND A.id2 = B.id2
       GROUP BY A.id1, A.id2
     ) AS v1
WHERE v1.x > 10
Run Code Online (Sandbox Code Playgroud)

使用DetachedCriteria我能够形成子查询

DetachedCriteria subCriteria = DetachedCriteria.forClass(A_model.class);
subCriteria.createAlias("b", "b_model");
subCriteria.setProjection(Projections.projectionList()
                            .add(Projections.groupProperty("id1"))
.add(Projections.groupProperty("id2"))
.add(Projections.min("val1"),"x");
Run Code Online (Sandbox Code Playgroud)

但我在创建外部查询时遇到了困难.

任何建议我如何创建上述SQL的标准?

谢谢你的期待.

java postgresql hibernate criteria hibernate-criteria

12
推荐指数
1
解决办法
1087
查看次数

初始化静态变量时获取StackOverflowError

下面是我偶然发现的一段代码的最小可验证示例.

package test_package;

import java.util.function.Predicate;

public class TestClass {

  public static final String CONST_STR = " some_data "+ getMoreData(e -> e.getId()==3);

  private static String getMoreData(Predicate<TestEnum> p){
    StringBuilder sb = new StringBuilder();
    for(TestEnum e : TestEnum.values()){
      if(p.test(e)){
        sb.append(e.name());
      }
    }
    return sb.toString();
  }

  public static void main(String[] args) {
    System.out.println(CONST_STR);
  }
}

enum TestEnum{
  OP1(1),OP2(2),OP3(3);

  private final int id;

  public int getId() {
    return id;
  }

  TestEnum(int id){
    this.id = id;
  }
}
Run Code Online (Sandbox Code Playgroud)

当我试图编译它给它我

错误:java:java.lang.StackOverflowError

任何人都可以指出我在哪里出错了吗?

我在尝试编译时遇到错误 javac test_package/TestClass.java

该系统资源不足.有关详细信息,请参阅以下堆栈跟踪 com.sun.tools.javac.code.Scope.dupUnshared(Scope.java:144)中的java.lang.StackOverflowError位于com的com.sun.tools.javac.comp.Attr.lambdaEnv(Attr.java:2639).在com.sun.tools.javac的com.sun.tools.javac.tree.JCTree …

java java-8

8
推荐指数
1
解决办法
383
查看次数

在hibernate查询对象中设置数组参数

这就是我的 plpqsql 函数(Postgres 函数)的样子

CREATE OR REPLACE FUNCTION public.test(my_ids text[]) RETURNS void
LANGUAGE plpgsql AS $function$
BEGIN
  RAISE NOTICE '--- Processing data%', my_ids;
END;
$function$;
Run Code Online (Sandbox Code Playgroud)

并像这样执行上面的函数

SELECT test('{"This", "is", "very", "cool"}'::TEXT[]); 
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的代码工作正常,但是当我尝试从应用程序的代码中调用此选择查询时,我不知道如何在查询中设置它。下面是我的java代码

String query = "SELECT public.test( ? );";
SQLQuery sqlQuery = session.createSQLQuery(query);

List<String> strList = new ArrayList<>();
strList.add("hello");
strList.add("world");
String[] strParam = strList.toArray(new String[strList.size()]);
sqlQuery.setParameter(1, strParam);  // this is not working what shall i use for it ?
sqlQuery.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

所以我在代码注释中提到的问题是如何在查询中设置这个数组。

我可以像这样在 JDBC 中使用它

Array strParam= conn.createArrayOf("varchar", strList.toArray(new String[strList.size()]));
Run Code Online (Sandbox Code Playgroud)

然后使用setArray方法在preparedStatement中设置这个sqlArray! …

java postgresql hibernate jdbc

5
推荐指数
0
解决办法
605
查看次数