小编Rom*_*man的帖子

在DB中对数据进行排序的优缺点?

假设我有一个包含VARCHAR类型字段的表.我需要从该表中按字母顺序对该表中的数据进行排序.

什么是最好的方法(性能):添加order by field到SQL查询或在数据已被提取时对数据进行排序?

我正在使用Java(使用Hibernate),但我不知道有关数据库引擎的任何信息.它可以是任何流行的关系数据库(如MySQL或MS Sql Server或Oracle或HSQL DB或任何其他).

表中的记录数量可能差异很大,但我们假设有5k记录.

UPD:二级休眠缓存(例如EHCache)如何支持排序数据?

java database sorting performance hibernate

9
推荐指数
2
解决办法
1663
查看次数

使用Hibernate作为ORM机制的Web应用程序中的L1和L2缓存有什么区别?

我只想了解一些关于使用L1缓存和L2缓存的标准目的的一般信息.

我很好奇,因为我正在调查使用兵马俑作为二级缓存的系统,我发现它也有一级缓存.

java orm caching hibernate

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

为什么JUnit只在第一次失败之前运行Theory的测试用例?

最近,JUnit增加了一个新的理论概念(自v4.4起).

简而言之,您可以使用@Theory注释(而不是@Test)标记测试方法,使测试方法参数化并声明一个参数数组,@DataPoints在同一个类的某处标记注释.

JUnit将依次运行参数化测试方法,传递从@DataPoints一个接一个检索到的参数.但只有在第一次这样的调用失败时(由于任何原因).

这个概念似乎与@DataProvidersTestNG 非常相似,但是当我们使用数据提供程序时,所有方案都会在执行结果的情况下运行.它很有用,因为你可以看到有多少有趣的工作/不工作,你可以更有效地修复你的程序.

所以,我想知道为什么不@Theory为每个人执行标记方法是什么原因@DataPoint?(从Theories运动员那里继承并制造一个可以忽略失败的自定义跑步者似乎并不那么困难,但为什么我们不能开箱即用?)

UPD:我创建了一个容错版本的Theories runner,并使其可供公众访问:https://github.com/rgorodischer/fault-tolerant-theories

为了将它与标准的Theories运行器进行比较,运行StandardTheoriesBehaviorDemo,然后将FaultTolerantTheoriesBehaviorDemo放在src/test/...文件夹下.

java junit testng dataprovider

9
推荐指数
1
解决办法
2423
查看次数

Hibernate错误:无法解析表

我正在尝试从hibernate引用开始工作的例子.

我有一个简单的表Pupil,其中包含id,name和age字段.我根据所有java-beans规则为它创建了正确的(我认为)java类.

我已经创建了配置文件--hibernate.cfg.xml,就像参考中的示例一样.

我已经为一个类Pupil创建了hibernate映射,这里发生了错误.

<hibernate-mapping>
   <class name="Pupil" table="pupils">
       ...
   </class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)

table ="pupils"在我的IDE中是红色的,我看到消息"无法解析表学生".我还在参考文献中创建了非常奇怪的注释,其中说大多数用户在尝试运行示例时遇到同样的问题.

啊..我对这个例子非常生气..恕我直言,如果作者知道有这样的问题,他们应该添加一些关于它的信息.

但是,我该如何解决呢?我不想在这里处理Ant,也不想在示例中使用其他工具.我正在使用MySql 5.0,但我认为没关系.

UPD:源代码

Pupil.java - 我的持久类

package domain;

public class Pupil {
    private Integer id;
    private String name;
    private Integer age;

    protected Pupil () { }

    public Pupil (String name, int age) {
        this.age = age;
        this.name = name;
    }

    public Integer getId () {
        return id;
    }

    public void setId (Integer id) {
        this.id = id;
    }

    public String getName () {
        return name;
    } …
Run Code Online (Sandbox Code Playgroud)

java mapping hibernate intellij-idea

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

什么是Java EE中的Web组件?

术语"Web组件"在Java EE中的含义是什么?给我一些来自不同Java EE技术的例子(jsp,jsf,ejb ..)

UPD:我可以说jsp中的每个自定义标签都是一个Web组件,而jsf中的标签是Web组件吗?或者只有servlet和整个jsp页面是Web组件?会话bean是一个Web组件吗?

java terminology java-ee

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

如何在jsf中创建用户友好和seo友好的URL?

例如,我有类文章与方法getTitle ()getContent ().

我也有使用方法的ArticlesService getAllArticles ().如何创建具有有意义名称的链接列表(由...组成#{article.title})?喜欢:

http://mysiteaddress.com/article/first-article-title
http://mysiteaddress.com/article/how-to-make-links-in-jsf
Run Code Online (Sandbox Code Playgroud)

..或类似的东西.

我可以创建具有所有必要功能的链接<h:commandLink>,但我不知道如何为它制作好的'href':它总是有href'#'.

我可以创建很好的链接,<h:outputLink>但我不知道如何添加必要的功能.


在jsp中,我创建了自己的前端控制器,它从请求中解析了URL,然后执行重定向到对应的jsp-page.

如何在JSF中实现相同的功能?

jsf jsp friendly-url front-controller

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

如何学习有效使用IDE?

我已经在IntelliJ IDEA中开发了几年.我从来没有认真地使用NetBeans或Eclipse.

但现在我必须在Eclipse中工作,我希望能够尽快使用至少部分功能.

所以,这个问题可以分为两部分.

1)更一般的问题:如何在短时间内学习新的IDE?

2)有没有非常好的Eclipse教程?就像"Eclipse开发人员必须知道的30件事"或者类似的东西.

eclipse ide

8
推荐指数
4
解决办法
4712
查看次数

空字符串的模式是什么?

我需要验证输入:有效的变量是数字或空字符串.相应的正则表达式是什么?

String pattern = "\d+|<what shoudl be here?>";
Run Code Online (Sandbox Code Playgroud)

UPD:请不要建议"\ d*",我只是好奇如何在regexp中告诉"空字符串".

java regex

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

在Java中为一个Integer对象分配了多少内存?如何找出任何自定义对象的这个值?

测量堆中的内存应该用于创建某种类型的新对象的正确方法是什么(让我们谈谈Integers以保持简单)?

没有实验可以计算出这个值吗?那种情况下的规则是什么?这些规则是在某处严格规定的还是从jvm到jvm不等?

java memory performance jvm memory-management

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

如何使用AspectJ和Tomcat配置加载时编织?

我试着用下一种方式配置加载时织入(用于使用Perf4J进行分析):

1)我添加aop.xmlMETA-INF文件夹.部署时,META-INF放置在工件根目录(即MyAppDeployed/META-INF)中.

2)我把aspectjrt-1.6.1.jar,aspectjweaver-1.6.1.jar,commons-jexl-1.1.jar,commons-logging.jarTomcat/lib文件夹(在第一次我尝试MyAppDeployed/WEB-INF/libs,但它也没有工作).

3)我-javaagent:C:\apache-tomcat-6.0.33\lib\aspectjweaver-1.6.1.jar在启动Tomcat时添加了VM选项.

4)我的aop.xml:

<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">

<aspectj>

    <aspects>
        <aspect name="org.perf4j.log4j.aop.TimingAspect"/>
    </aspects>

    <weaver options="-verbose -showWeaveInfo">           
        <include within="com.mypackages.MyClass"/>
    </weaver>
</aspectj>
Run Code Online (Sandbox Code Playgroud)

我没有看到任何迹象表明装载时编织发生.无论是错误报告还是必要结果.我唯一的错误信息是:

Error occurred during initialization of VM
agent library failed to init: instrument
Error opening zip file: C:\apache-tomcat-6.0.33\lib\wrong-jar.jar
Run Code Online (Sandbox Code Playgroud)

aspectjweaver-1.6.1.jar指定javaagent参数时,我在名称中输入错误的情况.如果写得正确 - 不会打印错误信息.

任何想法,我做错了什么?

PS我使用Java 5,我尝试使用1.5.4aspectj版本完全相同的结果.

java tomcat aspectj perf4j load-time-weaving

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