小编eme*_*ava的帖子

PDFBox设置A5页面大小

开始玩PDFBox了

PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage( page );

PDFont font = PDType1Font.HELVETICA_BOLD;
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.beginText();
contentStream.setFont( font, 12 );
contentStream.moveTextPositionByAmount( 100, 700 );
contentStream.drawString( "Hello World" );
contentStream.endText();
contentStream.close();

document.save("Page.pdf");
document.close();
Run Code Online (Sandbox Code Playgroud)

但我想将文件大小设置为PDPage.PAGE_SIZE_A5.我已经尝试设置所有setXXXBox(PDRectangle mediaBox)方法签名但我无法获得预期的输出.

page.setArtBox(PDPage.PAGE_SIZE_A5); // ??
page.setMediaBox(PDPage.PAGE_SIZE_A5); // ??
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java pdf pdfbox apache-fop

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

JPA/Hibernate将动态列映射为对象列表

我有一个现有的DB模式,我试图用JPA/Hibernate注释进行ORM'ise.该模式旨在允许客户端使用表中的每一行来分配额外信息.现有解决方案不是使用键值模式,而是在安装时确定所需的动态列数,并更改表以为动态字段添加额外的列.实际上,每个表都有一组已知/固定列和一组动态列.

|table:X|
|id|known1|known2|dynamic1|dynamic2|..|dynamicx|
Run Code Online (Sandbox Code Playgroud)

参数表指示哪些表具有额外的动态字段

|table:parameter|
|table|column|meta|
|x|dynamic1||
|x|dynamic2||
|x|dynamicx||
|y|dynamic15||
Run Code Online (Sandbox Code Playgroud)

在JPA建模中,很容易为每个表上的已知固定列创建定义.

@Entity
@Table(name="x")
public class X
{
    @Id
    private Long id = null;

    @Column(name="known1")
    private Long known1 = null;
}
Run Code Online (Sandbox Code Playgroud)

我计划将参数表建模为一个类,然后允许我的每个类都有一个参数列表.我不确定我应该如何映射这个List对象,以便将详细信息写入同一个表.

@Entity
@Table(name="x")
public class X
{
    // @Column(name="x",class="X") ??????????
    List<Parameter> dynamicColumns = null;
}
Run Code Online (Sandbox Code Playgroud)

我相信我可以使用自定义命名策略来正确确定动态字段的列名称.这种映射甚至可能吗?

java orm hibernate jpa

10
推荐指数
1
解决办法
8366
查看次数

正则表达式 - 用大写字母替换下划线小写

我想知道是否有一个正则表达式模式,我可以用来将一个下划线和一个小写字母的模式转换为一个大写字母.我正在尝试从SQL语句为java bean生成字段名.目前DB列是

load_id,policy_id,policy_number
Run Code Online (Sandbox Code Playgroud)

但我想要java字段名称

loadId,policyId,policyNumber
Run Code Online (Sandbox Code Playgroud)

我试过这个正则表达式小提琴

java regex

8
推荐指数
2
解决办法
5201
查看次数

SQL Server NTILE - 不同四分位数中的相同值

我有一个场景,我使用下面的 SQL Server NTILE 函数将多个结果拆分为四分位数。目标是每个类中的行数相同

case NTILE(4) over (order by t2.TotalStd) 
   when 1 then 'A' when 2 then 'B' when 3 then 'C' else 'D' end as Class
Run Code Online (Sandbox Code Playgroud)

结果表如下所示,A、B、C 和 D 4 个班级组之间有 (9,9,8,8) 拆分。

有两个结果给我带来了问题,两行的总 std 值相同,为 30,但分配给不同的四分位数。

8   30  A
2   30  B
Run Code Online (Sandbox Code Playgroud)

我想知道有没有办法确保将具有相同值的行分配给相同的四分位数?我可以按另一列分组或分区以获得这种行为吗?

Pos TotalStd    class
1   16  A
2   23  A
3   21  A
4   29  A
5   25  A
6   26  A
7   28  A
8   30  A
9   29  A
1   31  B
2 …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008

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

wordpress表单提交和404错误页面

我在wordpress模板页面上有以下表格.我每次提交表单时都会收到404错误,但我没有在表单中使用任何保留的workpress参数名称.

<?php
/**
 * Template Name: Registration Template
 */
if(isset($_POST['form-submitted'])) 
{
    if(trim($_POST['runner']) === '') {
        $runnerError = 'Please enter runner runner.';
        $hasError = true;
    } else {
        $runner = trim($_POST['runner']);
    }

    if(trim($_POST['racenumber']) === '')  {
        $numberError = 'Please enter a race number.';
        $hasError = true;
    } else {
        $racenumber = trim($_POST['racenumber']);
    }

    $race = trim($_POST['race']);
    error_log($race.' '.$runner.' '.$racenumber);
    $registrationSubmitted = true;
}
get_header();
echo "<pre>GET "; print_r($_GET); echo "</pre>";
echo "<pre>POST "; print_r($_POST); echo "</pre>";
?>

<div id="container">

    <?php 
    if(isset($registrationSubmitted) …
Run Code Online (Sandbox Code Playgroud)

wordpress

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

Spring Batch FlatFileItemWriter - 如何使用stepExecution.jobId生成文件名

我有这个FileWriter我试图将当前作业ID附加到生成的文件名.

<bean id="csvFileWriter" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step">
    <property name="resource">
        <bean class="org.springframework.core.io.FileSystemResource">
            <constructor-arg type="java.lang.String">
                <value>${csv.file}_#{stepExecution.jobExecution.jobId}</value>
            </constructor-arg>
        </bean>
    </property>
    <property name="lineAggregator">
        <bean class="org.springframework.batch.item.file.transform.DelimitedLineAggregator">
            <property name="delimiter">
                <util:constant
                    static-field="org.springframework.batch.item.file.transform.DelimitedLineTokenizer.DELIMITER_COMMA"/>
            </property>
            <property name="fieldExtractor">
                <bean class="org.springframework.batch.item.file.transform.PassThroughFieldExtractor" />
            </property>
        </bean>
    </property>
    ....
....
Run Code Online (Sandbox Code Playgroud)

但它正在轰炸

Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'stepExecution' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext'
    at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:208)
    at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:72)
    at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:52)
    at org.springframework.expression.spel.ast.SpelNodeImpl.getTypedValue(SpelNodeImpl.java:102)
    at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:97)
    at org.springframework.expression.common.CompositeStringExpression.getValue(CompositeStringExpression.java:82)
    at org.springframework.expression.common.CompositeStringExpression.getValue(CompositeStringExpression.java:1)
    at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:139)
    ... 45 more
Run Code Online (Sandbox Code Playgroud)

知道如何jobId在这种情况下正确引用?

更新:添加工作解决方案

我实现了JobExecutionListener添加 …

spring-batch

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

是否可以在Hibernate/JPA中动态定义列名?

所以我有这个现有的数据库模式,其中包含许多我想用JPA/Hibernate建模的表.每个表具有相同的30个附加列组(以允许运行时扩展记录的字段数).

CREATE TABLE XX
  (
    "ID"          VARCHAR2(100 BYTE) NOT NULL ENABLE,
    "USER_LABEL"      VARCHAR2(256 BYTE),
    "CREATION_DATE"   NUMBER(38,0) NOT NULL ENABLE,
    "ADD_STR_FIELD_0" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_0" NUMBER(38,0),
    "ADD_DBL_FIELD_0" NUMBER(38,0),
    "ADD_STR_FIELD_1" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_1" NUMBER(38,0),
    "ADD_DBL_FIELD_1" NUMBER(38,0),
    "ADD_STR_FIELD_2" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_2" NUMBER(38,0),
    "ADD_DBL_FIELD_2" NUMBER(38,0),
    "ADD_STR_FIELD_3" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_3" NUMBER(38,0),
    "ADD_DBL_FIELD_3" NUMBER(38,0),
    "ADD_STR_FIELD_4" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_4" NUMBER(38,0),
    "ADD_DBL_FIELD_4" NUMBER(38,0),
    "ADD_STR_FIELD_5" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_5" NUMBER(38,0),
    "ADD_DBL_FIELD_5" NUMBER(38,0),
    "ADD_STR_FIELD_6" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_6" NUMBER(38,0),
    "ADD_DBL_FIELD_6" NUMBER(38,0),
    "ADD_STR_FIELD_7" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_7" NUMBER(38,0),
    "ADD_DBL_FIELD_7" NUMBER(38,0),
    "ADD_STR_FIELD_8" VARCHAR2(200 BYTE),
    "ADD_LNG_FIELD_8" NUMBER(38,0), …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate jpa

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

SonarQube类别说明

任何人都可以建议对"五个"SonarQube类别进行一两行解释,以便非开发人员能够理解百分比数字意味着什么?

  • 效率
  • 可维护性
  • 可移植性
  • 可靠性
  • 可用性

sonarqube

6
推荐指数
1
解决办法
2264
查看次数

xstream - 在自定义转换器中重用默认转换器

我正在使用xstream来处理xml字符串,但是对象的某些字段在版本之间发生了变化,因此我正在实现自定义转换器.下面列出了字段更改的摘要,只有前两种字段类型不同.

Field    type1      type2
a        short      String
b        String     Object
c        List       List
d        Object     Object
.
.
.
x        String     String
Run Code Online (Sandbox Code Playgroud)

我的当前转换器被实现为专门处理每个字段,这导致unmarshal()方法中的大量"else if"条件

package a.b.c.reports;

import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;

public class MyConverter implements Converter {

..

@Override
public Object unmarshal(HierarchicalStreamReader reader,UnmarshallingContext context) {

    while (reader.hasMoreChildren()) {
        reader.moveDown();
        if(reader.getNodeName().equals("a"))
        {
            a = reader.getValue();
        }
        else if (reader.getNodeName().equals("b")) 
        {
            b = (Object) context.convertAnother(reader, Object.class);
        } 
        else if(reader.getNodeName().equals("c"))
        {
            a = reader.getValue();
        }
        ..
        ..
    } …
Run Code Online (Sandbox Code Playgroud)

java xstream

6
推荐指数
1
解决办法
1494
查看次数

带有IN子句的MYSQL JOIN

我有以下内容从表中返回特定的帖子.正如所料,它给出了11行.

-- SQL gives 11 rows
select p.ID from wp_posts p where p.ID IN (2596, 2597, 2598, 2600, 2849, 2928, 2851, 2852, 3011, 2854, 2855);
Run Code Online (Sandbox Code Playgroud)

我有第二张表'wp_raceresult',它记录了一个人的比赛结果.此人在此表中只有7个结果.我希望在特定跑步者的这组比赛中获得所有比赛结果的详细信息,即每个比赛没有结果的NULL.SQL我有atm只会产生匹配的行.

-- SQL only gives 7 rows
select p.ID,rr.leaguepoints from wp_posts p
join wp_raceresult rr on p.id=rr.race
where p.ID IN (2596, 2597, 2598, 2600, 2849, 2928, 2851, 2852, 3011, 2854, 2855)
and runner=7
Run Code Online (Sandbox Code Playgroud)

我尝试过使用FULL OUTER,LEFT,RIGHT子句和UNION但没有成功.任何的想法?

mysql

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