我有一个胖客户端,java swing应用程序,具有25个表的模式和~15个JInternalFrames(表的数据输入表单).我需要在DBMS交互中进行直接JDBC或ORM(在这种情况下使用spring框架进行hibernate)的设计选择.应用程序的构建将在未来发生.
对于这么大的项目,hibernate是否会过度杀伤?对是或否答案的解释将非常感激(如果有必要,甚至是不同的方法).
TIA.
有人提出了这方面的问题,但最近并没有这方面的问
要求:
假设的选项是iText,PDFBox,FOP,还有其他什么?基于上述要求的建议是什么?
这个问题不是关于JMX如何工作或JMX的作用.这个问题是关于JMX在生产中的标准应用程序服务器环境中的应用.它也不适用于特定的服务器.
在运行标准Java EE服务堆栈的生产环境中,您使用JMX监控的是什么:数据库访问(JDBC和JPA),会话EJB,JMS,Web服务器,Web服务,支持AJAX的服务?
是否有更简单的方法来匹配正则表达式模式?例如,要检查给定的字符串是否为以下两种方法的大写,但看起来过于复杂.检查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字符串以避免膨胀代码.
大写模式可以推广到任意正则表达式(或字符集).
我发现上述两种解决方案都没有问题,只是它们对于解决的问题看起来过于复杂.
我正在尝试使用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) 在同一查询中应用条件之前应用Oracle START WITH ... CONNECT BY
子句.因此,WHERE约束无助于优化.WHERE
CONNECT 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) 如果我使用内存数据库而不是PostgreSQL,我的集成测试会运行得更快.我使用JPA(Hibernate),我需要一个内存数据库,它很容易切换到使用JPA,易于设置和可靠.它需要支持JPA和Hibernate(或者如果你愿意的话,反之亦然),因为我不想采用我的数据访问代码进行测试.
根据上述要求,哪个数据库是最佳选择?
我们正在尝试为本机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子句不识别通过这种方式传递的任何值.有谁知道这个问题的解决方案?
给出问题'如何运行属于某个类别的所有测试?' 答案是以下方法对测试组织更好吗?
例:
我的问题更像是征求这种方法与经典测试套件方法的批准率.一个无与伦比的好处是每个新测试都立即被相关套房包含,没有套件维护.一个问题是每个测试的正确分类.
java ×6
performance ×3
hibernate ×2
jmx ×2
jpa ×2
r ×2
sql ×2
aop ×1
apache-fop ×1
database ×1
facet ×1
ggplot2 ×1
in-operator ×1
itext ×1
java-ee ×1
jdbc ×1
junit ×1
junit4 ×1
monitoring ×1
oracle ×1
pdf ×1
perf4j ×1
pie-chart ×1
regex ×1
select ×1
sql-in ×1
test-suite ×1
testing ×1
unit-testing ×1
uppercase ×1