小编Gun*_*hah的帖子

JPA:如何将本机查询结果集转换为POJO类集合

我在我的项目中使用JPA.

我来到一个查询,我需要在五个表上进行连接操作.所以我创建了一个返回五个字段的本机查询.

现在我想将结果对象转换为包含相同五个字符串的java POJO类.

在JPA中是否有任何方法可以直接将该结果转换为POJO对象列表?

我来到以下解决方案..

@NamedNativeQueries({  
    @NamedNativeQuery(  
        name = "nativeSQL",  
        query = "SELECT * FROM Actors",  
        resultClass = db.Actor.class),  
    @NamedNativeQuery(  
        name = "nativeSQL2",  
        query = "SELECT COUNT(*) FROM Actors",  
        resultClass = XXXXX) // <--------------- problem  
})  
Run Code Online (Sandbox Code Playgroud)

现在在resultClass中,我们是否需要提供一个实际的JPA实体类?或者我们可以将它转换为包含相同列名的任何JAVA POJO类吗?

java jpa

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

Apache POI 3.9:找不到WorkbookFactory方法

在我的应用程序中,我使用Apache POI 3.8进行XLS文件处理.

现在我想迁移到Apache POI 3.9最新和稳定版本.我在我的应用程序中添加了JAR文件poi-3.9-20121203.jar,并删除了与POI 3.8相关的JAR.

但似乎在3.9版本中,WorkbookFactory类已被删除.

那么如何在Apache POI 3.9中创建一个Workbookwith WorkbookFactory

我提取了JAR并检查过,没有类似的WorkbookFactory.

谁能告诉我如何使用POI 3.9创建新的工作簿?

java apache-poi

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

JPA错误:实体没有定义主键属性

我在我的应用程序中使用JPA.在其中一个表中,我没有使用主键(我知道它的设计很糟糕).

现在生成的实体如下所述:

@Entity
@Table(name="INTI_SCHEME_TOKEN")
public class IntiSchemeToken implements Serializable {
    private static final long serialVersionUID = 1L;

    @Column(name="CREATED_BY")
    private String createdBy;

    @Temporal( TemporalType.DATE)
    @Column(name="CREATED_ON")
    private Date createdOn;

    @Column(name="SCH_ID")
    private BigDecimal schId;

    @Column(name="TOKEN_ID")
    private BigDecimal tokenId;

    public IntiSchemeToken() {
    }

    public String getCreatedBy() {
        return this.createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedOn() {
        return this.createdOn;
    }

    public void setCreatedOn(Date createdOn) {
        this.createdOn = createdOn;
    }

    public BigDecimal getSchId() {
        return this.schId;
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

entity jpa

15
推荐指数
3
解决办法
4万
查看次数

Matcher.find()的工作原理

我正在测试一个Matcher和Pattern类的小存根...请看下面的小存根..

package scjp2.escape.sequence.examples;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Sample_19 {

    public static void main(String a[]){
        String stream = "ab34ef";
        Pattern pattern = Pattern.compile("\\d*");

        //HERE * IS GREEDY QUANTIFIER THAT LOOKS FOR ZERO TO MANY COMBINATION THAT 
        //START WITH NUMBER 
        Matcher matcher = pattern.matcher(stream);

        while(matcher.find()){
            System.out.print(matcher.start()+matcher.group());
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

这里......我们比较的字符串是"ab34ef".长度为6.

Noe让我们看看迭代......


迭代否matcher.start()matcher.group()

1 0""

2 1""

3 2 34

4 4""

5 5""

现在..let结合... matcher.start()+ matcher.group()....根据我们的计算输出是:0123445

但是,存根生成01234456.

我无法理解"6"的来源.字符串索引从零开始,所以这里可以有最大索引是5.So从哪里来的?

它循环遍历循环六次......怎么样?有什么建议吗?

java regex matcher

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

无法启动Sonar Server

我正在使用Sonar生成我项目的代码审查报告.但我无法启动服务器.我正进入(状态

HeapDumpOnOutOfMemoryError

在跑步的时候

StartSonar.bat

文件.

请查找声纳启动时生成的日志.

C:\ TEMP2\Sonar\sonarqube-4.5\bin\windows-x86-32> StartSonar.bat包装器| - > Wrapper作为控制台包装器启动| 启动JVM ... jvm 1
| Wrapper(版本3.2.3)http://wrapper.tanukisoftware.org jvm 1 | 版权所有1999-2006 Tanuki Software,Inc.保留所有权利.jvm 1 | jvm 1 | 2015年7月28日7时30分51秒INFO应用[ospmJavaProcessLauncher]启动过程[搜索]:C:\ SOFTWARE\jdk1.6.0_18\JRE\BIN \的java -Xmx256m -Xms256m - Xss256k -Djava.net.preferIPv4Stack =真-XX :+ UseParNewGC -XX:+ UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction = 75 -XX:+ UseCMSInitiatingOccupancyO NLY -XX:+ HeapDumpOnOutOfMemoryError -Djava.awt.headless =真-Djava.io.tmpdir = C:\ TEMP2 \声纳\ sonarqube-4.5\temp -cp ./lib/common/ ; ./ lib/search /有机 sonar.search.SearchServer C:\ Users\gxs114\AppData\Local\Temp\sq-process8934190933893070058properties jvm 1 | 2015.07.28 07:30:57 INFO app [ospmMonitor]进程[搜索]是jvm 1 | 2015.07.28 07:30:57 …

sonarqube-4.5

11
推荐指数
3
解决办法
4万
查看次数

如何使用Sencha SDK for ExtJS?

我正在使用ExtJS 4.1,我正在GlassFish V3.1上部署我的简单HelloExt程序.

我正在尝试使用Sencha SDK创建一个版本.

我使用了以下两个命令......

C:\>sencha create jsb -a http://localhost:8080/HelloExt/index.jsp -p appname.jsb
3 -v


C:\>sencha build -p appname.jsb3 -v -d .
Run Code Online (Sandbox Code Playgroud)

根据文档,它将创建app-all.js文件.但它在哪里创建文件?

我怎么知道IF构建是否成功创建?

生成的JS文件在哪里?

我做了一个搜索,但我找不到像app-all.js这样的东西.

欲获得更多信息:

我正在使用JDK 1.6.0_12和GlassFish V3.1应用程序服务器.

以下是问题的编辑内容....

当我尝试使用sencha SDK时,它会在类路径中生成一个.dpf文件..dpf文件的内容如下...

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
  <context-root>/HelloExt</context-root>
  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>
</glassfish-web-app>
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么在这里生成.DPF文件?为什么它不生成app-all.js文件?

extjs build extjs4 extjs4.1

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

使用常规JAVA流收集int数组的值

在我的程序中,我试图使用流打印排序的int数组。但是在使用普通流时出现错误输出。并且在使用int流时会打印正确的详细信息。

请参阅下面的核心代码段以获取更多详细信息。

package com.test.sort.bubblesort;

import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.IntStream;

public class BubbleSortWithRecursion {

    public static void bubbleSort(int[] arr, int n) {

        if (n < 2) {
            return;
        }

        int prevValue;
        int nextValue;
        for (int index = 0; index < n-1; index++) {
            prevValue = arr[index];
            nextValue = arr[index+1];

            if  (prevValue > nextValue) {
                arr[index] = nextValue;
                arr[index+1] = prevValue;
            }
        }

        bubbleSort(arr, n-1);
    }

    public static void main(String[] args) {
        int arr[] = new int[] {10,1,56,8,78,0,12};
        bubbleSort(arr, arr.length);

        **//False …
Run Code Online (Sandbox Code Playgroud)

java arrays java-8 java-stream

6
推荐指数
2
解决办法
434
查看次数

Quartz调度器:JOB执行多次

我正在使用石英调度程序来安排我的工作。我用过CronTrigger。但问题是触发器会被多次触发。这是我设置 cron 调度程序的代码..

SchedulerFactory schFactory = new StdSchedulerFactory();
        Scheduler sched = null;
        CronTrigger cronTrigger = null;
        try {
            sched = schFactory.getScheduler();
            JobDetail jobDetail = new JobDetail("job1", "group1",SchedulerPBGC.class);

            String cronTimerStr = "* 16 15 * * ? *";

            LOG.warn("CRON TRIGGER FORMAT  FOR PROCESSING PB GC DATA:"+cronTimerStr);

            cronTrigger = new CronTrigger("SchedTrigger", "Group1", cronTimerStr);


            sched.scheduleJob(jobDetail, cronTrigger);          
            sched.start();

            LOG.warn("SCHEDULER REGISTERED FOR PROCESSING PB GC DATA :  TIME :"+cronTimerStr);          

        } catch (SchedulerException se) {
            LOG.error("SchedulerException Message::"+se.getLocalizedMessage());     
        }
Run Code Online (Sandbox Code Playgroud)

这里我的调度程序执行了作业 10 次...在这里你可以看到日志..

2012-06-20 15:16:50,001 DefaultQuartzScheduler_Worker-1 WARN  test.SchedulerPBGC …
Run Code Online (Sandbox Code Playgroud)

quartz-scheduler

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

如何根据Column中的值更改JQGrid中的行颜色

我在我的应用程序中使用JQGrid.

如果JqGrid行基于列中的值,我想在这里更改颜色.

我能够改变列的颜色,但我不能改变行的背景颜色.

这是我用来改变行颜色的代码......

loadComplete: function (data) {
    //RETRIEVE COLUMN INDEX : ISPRINTED
    var isPrintColIndex = getGridColumnIndex(jQuery("#list10_d"), 'isPrinted');

    //CHANGE COLOR OF PRINTED ARTICLES
    //NOTE : JSON FORMATs ARE DIFFERENT SO ...HERE WE ARE ADDING CONDITION
    if (data != null && data.rows != null) {
        for (var index = 0; index < data.rows.length; index++) {

            if (typeof (data.rows[index].id) === 'undefined') {
                //LOAD BY JQGRID API ITSELF
                if (data.rows[index].isPrinted == 'NO') {
                    if (data.rows[index].isPrinted == 'NO') {
                        jQuery("#list10_d").jqGrid(
                            'setCell', data.rows[index]._id_, "articleid",
                            "", …
Run Code Online (Sandbox Code Playgroud)

jqgrid

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

我们可以编写没有ItemReader和ItemWriter的Spring批处理作业

在我的项目中,我用Spring Batch 2.2编写了一个Quartz调度程序.

根据我的要求,我想运行一个调度程序来获取应用程序配置属性,以刷新所有GlassFish集群上的配置缓存.

所以我不需要用于文件读/写操作的ItemWriter和ItemReader.那么我可以从中删除ItemReaderItemWriter吗?

我的工作配置如下:

 <batch:job id="reportJob">
                 <batch:step id="step1">
                     <batch:tasklet>    
    <!--I want to remove ItemReader and ItemWriter as its not used -->          
                         <batch:chunk reader="ItemReader" writer="ItemWriter" 
                            commit-interval="10"> 
                        </batch:chunk> 
                    </batch:tasklet> 
                </batch:step> 

                <batch:listeners>
                    <batch:listener ref="simpleListener"/>
                </batch:listeners>
            </batch:job>

<bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
            <!-- Cache Refresh code is written here : JobLauncherDetails.java file -->
        <property name="jobClass" value="com.mkyong.quartz.JobLauncherDetails" />
        <property name="group" value="quartz-batch" />
        <property name="jobDataAsMap">
            <map>
                <entry key="jobName" value="reportJob" />
                <entry key="jobLocator" value-ref="jobRegistry" />
                <entry key="jobLauncher" value-ref="jobLauncher" />
                <entry key="param1" value="mkyong1" /> …
Run Code Online (Sandbox Code Playgroud)

spring spring-batch

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