小编top*_*hef的帖子

Hibernate或JDBC

我有一个胖客户端,java swing应用程序,具有25个表的模式和~15个JInternalFrames(表的数据输入表单).我需要在DBMS交互中进行直接JDBC或ORM(在这种情况下使用spring框架进行hibernate)的设计选择.应用程序的构建将在未来发生.

对于这么大的项目,hibernate是否会过度杀伤?对是或否答案的解释将非常感激(如果有必要,甚至是不同的方法).

TIA.

java hibernate jdbc

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

比较这些产品的PDF生成与Java内部要求:iText,Apache PDFBox或FOP?

有人提出了这方面的问题,但最近并没有这方面的问

要求:

  • 根据预定义的模板生成pdf文档(我可以使用pdf格式或xsl-fo)
  • 能够填写文本数据
  • 能够填充图形数据(生成条形码)
  • 能够在生产环境中改变pdf模板而无需修补(重新编译)
  • 生成要保存在数据库中(作为blob)和/或打印的pdf文件
  • 开源/免费

假设的选项是iText,PDFBox,FOP,还有其他什么?基于上述要求的建议是什么?

java pdf pdf-generation itext apache-fop

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

您在生产Java应用程序中使用JMX监视什么?

这个问题不是关于JMX如何工作或JMX的作用.这个问题是关于JMX在生产中的标准应用程序服务器环境中的应用.它也不适用于特定的服务器.

在运行标准Java EE服务堆栈的生产环境中,您使用JMX监控的是什么:数据库访问(JDBC和JPA),会话EJB,JMS,Web服务器,Web服务,支持AJAX的服务?

java performance monitoring jmx java-ee

32
推荐指数
3
解决办法
9645
查看次数

您是否使用过Perf4J来收集和分析Java应用程序中的性能指标?

是否在Java应用程序中使用Perf4J来收集和分析性能统计信息?

典型模式是什么(使用日志文件,实用程序,UI,JMX等)?

您是否使用了注释和基于AOP的功能?

你有没有使用任何JMX集成?

你是如何处理生产配置的?

您是否将效果统计信息视图/报告作为应用中的功能包含在内?

请告诉您是否以及为何选择了替代图书馆/方法.

java performance aop jmx perf4j

21
推荐指数
2
解决办法
6853
查看次数

检查R中的字符串是否为大写

是否有更简单的方法来匹配正则表达式模式?例如,要检查给定的字符串是否为以下两种方法的大写,但看起来过于复杂.检查stringr我发现没有更简单的解决方案的迹象.

方法1:

isUpperMethod1 <- function(s) {
  return (all(grepl("[[:upper:]]", strsplit(s, "")[[1]])))
}
Run Code Online (Sandbox Code Playgroud)

方法2:

isUpperMethod2 <- function(s) {
  m = regexpr("[[:upper:]]+", s)
  return (regmatches(s, m) == s)
}
Run Code Online (Sandbox Code Playgroud)

我故意省略处理空,NA,NULL字符串以避免膨胀代码.

大写模式可以推广到任意正则表达式(或字符集).

我发现上述两种解决方案都没有问题,只是它们对于解决的问题看起来过于复杂.

regex r uppercase

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

ggplot,facet,piechart:将文本放在饼图切片的中间

我正在尝试使用ggplot生成一个刻面的饼图,并面临在每个切片中间放置文本的问题:

dat = read.table(text = "Channel Volume Cnt
                         AGENT   high   8344
                         AGENT medium   5448
                         AGENT    low  23823
                         KIOSK   high  19275
                         KIOSK medium  13554
                         KIOSK    low  38293", header=TRUE)

vis = ggplot(data=dat, aes(x=factor(1), y=Cnt, fill=Volume)) +
  geom_bar(stat="identity", position="fill") +
  coord_polar(theta="y") +
  facet_grid(Channel~.) +
  geom_text(aes(x=factor(1), y=Cnt, label=Cnt, ymax=Cnt), 
            position=position_fill(width=1))
Run Code Online (Sandbox Code Playgroud)

输出: 在此输入图像描述

geom_text应该调整哪些参数才能将数字标签放在饼图切片的中间?

相关问题是Pie plot将其文本放在彼此的顶部,但它不处理facet的情况.

更新:在上面的问题中遵循Paul Hiemstra的建议和方法我改变了代码如下:

---> pie_text = dat$Cnt/2 + c(0,cumsum(dat$Cnt)[-length(dat$Cnt)])

     vis = ggplot(data=dat, aes(x=factor(1), y=Cnt, fill=Volume)) +
     geom_bar(stat="identity", position="fill") +
     coord_polar(theta="y") +
     facet_grid(Channel~.) +
     geom_text(aes(x=factor(1), 
--->               y=pie_text, 
                   label=Cnt, ymax=Cnt), …
Run Code Online (Sandbox Code Playgroud)

visualization r facet ggplot2 pie-chart

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

与WHERE子句一起使用时优化Oracle CONNECT BY

在同一查询中应用条件之前应用Oracle START WITH ... CONNECT BY子句.因此,WHERE约束无助于优化.WHERECONNECT BY

例如,以下查询可能会执行全表扫描(忽略选择性dept_id):

SELECT * FROM employees 
WHERE dept_id = 'SALE'
START WITH manager_id is null
CONNECT BY PRIOR employee_id = manager_id
Run Code Online (Sandbox Code Playgroud)

我尝试通过两种方式提高性能:

查询A:

SELECT * FROM employees 
START WITH manager_id is null AND dept_id = 'SALE'
CONNECT BY PRIOR employee_id = manager_id
Run Code Online (Sandbox Code Playgroud)

查询B:

SELECT * FROM (
               SELECT * FROM employees 
                WHERE dept_id = 'SALE'
              )
START WITH manager_id is null
CONNECT BY PRIOR employee_id = manager_id …
Run Code Online (Sandbox Code Playgroud)

sql oracle performance select query-optimization

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

内存数据库简单可靠,支持JPA的快速Java集成测试

如果我使用内存数据库而不是PostgreSQL,我的集成测试会运行得更快.我使用JPA(Hibernate),我需要一个内存数据库,它很容易切换到使用JPA,易于设置和可靠.它需要支持JPA和Hibernate(或者如果你愿意的话,反之亦然),因为我不想采用我的数据访问代码进行测试.

根据上述要求,哪个数据库是最佳选择?

java database testing jpa in-memory-database

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

在本机sql查询中使用IN子句

我们正在尝试为本机sql查询动态生成IN子句以返回JPA实体.Hibernate是我们的JPA提供者.我们的代码看起来像这样.

@NamedQuery(
    name="fooQuery",
    queryString="select f from Foo f where f.status in (?1)"
)

....

Query q = entityManager.createNamedQuery("fooQuery");
q.setParameter(1, "('NEW','OLD')");
return q.getResultList();
Run Code Online (Sandbox Code Playgroud)

这不起作用,in子句不识别通过这种方式传递的任何值.有谁知道这个问题的解决方案?

sql hibernate jpa in-operator sql-in

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

新的JUnit 4.8.1 @Category渲染测试套件几乎已经过时了吗?

给出问题'如何运行属于某个类别的所有测试?' 答案是以下方法对测试组织更好吗?

  1. 定义包含所有测试的主测试套件(例如,使用ClasspathSuite)
  2. 设计足够的JUnit类别集合(足以表示每个理想的测试集合可由一个或多个类别识别)
  3. 使每个测试符合相关类别的资格
  4. 基于主测试套件和类别集定义目标测试套件

例:

  • 识别速度(慢速,快速),依赖(模拟,数据库,集成等),功能(填写适用类别),域(填写适用类别)等类别.
  • 要求每个测试都使用相关的类别进行适当的限定(标记).
  • 使用ClasspathSuite创建主测试套件(在类路径中找到所有测试)
  • 通过使用类别限定主测试套件来创建目标套件,例如模拟测试套件,快速数据库测试套件,域X测试套件的慢速集成等.

我的问题更像是征求这种方法与经典测试套件方法的批准率.一个无与伦比的好处是每个新测试都立即被相关套房包含,没有套件维护.一个问题是每个测试的正确分类.

java junit unit-testing junit4 test-suite

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