试图从HQL查询创建一个对象,但只是无法弄清楚我做错了什么.
查询:
String query = "SELECT product.code, SUM(product.price), COUNT(product.code)
from Product AS product
GROUP BY product.code"
Run Code Online (Sandbox Code Playgroud)
(或者我应该使用新的MyCustomList(product.code,SUM(...,即使它没有映射?)现在我想将这个返回的列表转换为类似的对象:
class MyCustomList{
public String code;
public BigDecimal price;
public int total;
// Constructor
public MyCustomList(String code, String price, int total){ //...
Run Code Online (Sandbox Code Playgroud)
检索数据:
// This throws ClassCastException
List<MyCustomList> list = MyClass.find(query).fetch();
Run Code Online (Sandbox Code Playgroud)
使用Play框架
我使用m2eclipse在Eclipse中导入Maven Java项目.
它无法识别src/main/webapp
为源目录.
在包浏览器中以图形方式(或者当我在项目的属性中查看Java-Build-Path时),
此目录不在sources文件夹列表中(while src/main/java
或src/main/resources
do).
要访问它,我必须直接查看src /目录,并开始展开...不是很方便!
但是,如果我运行maven install
,资源将被复制到正确的目录.
(例如: src/main/webapp/index.jsp
到target/mywar/index.jsp
)
我在我的类路径中加载了一个jar(在iReport中,如果它很重要),我确信我有所需的方法但是当我尝试测试连接时,因此调用jar,我得到一个java.lang.NoSuchMethodError,说它正在引用班级
Lorg/springframework/web/context/WebApplicationContext
Run Code Online (Sandbox Code Playgroud)
我不确定这是否与问题有关,但开头的'L'从何而来?另一次我引用了一堂课,课后有一个'V'.这些信件来自哪里,它们是什么意思?
堆栈跟踪的开始:
java.lang.NoSuchMethodError:
org.springframework.web.context.ContextLoader
.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;
Run Code Online (Sandbox Code Playgroud) 我们都知道,如果很好地选择了哈希函数,哈希表对插入和查找都有O(1)时间.那么,我们想要使用二进制搜索树的原因是什么?仅仅因为完美的哈希函数难以设计?
我在这里如何提出这个问题?我注意到,标准 C++ STL具有set
和map
其与二叉搜索树实现,但没有哈希(不是说非参考标准hash_set
,hash_map
).虽然,Ruby只有Hash
.我想了解这种差异背后的理性.
我有一个Maven Java项目,使用导入m2eclipse
.
该target/
目录未标记为" Derived
" m2eclipse
.
问题:
JSP Problem
,当我故意在jsp中插入错误时.可能会看到post eclipse-ignore-folder
注意:当我手动将目录设置为派生时,验证问题不会消失,因此这只是解决方案的一部分......
问题:
我需要做些什么,以便m2eclipse将target/
目录设置为'Derived'?
对于我当前的项目,每次我设置一个新工作区时,我都需要导入分散在20多个不同目录中的数百个现有项目.有没有办法在Eclipse中自动执行此步骤?
这些项目都被检入ClearCase.
如果我想成为Java应用程序和系统的性能顾问,我需要哪些主要技能?
你是否同意这些的重要性?还有什么要补充的?
答案更新:
额外的技能:
心态(由几个答案提供,虽然我没有要求):
在我们的Maven项目中,我们正在尝试以下目录结构(总共大约有80个项目,只显示了一些项目,以便您了解到这一点):
myappli (pom)
-- module1 (pom)
--|-- utils (pom)
--|-- ejb (pom)
--|--|-- myappli-module1-a-ejb (jar)
--|--|-- myappli-module1-b-ejb (jar)
--|-- war (pom)
--|-- applet (pom)
...
-- module6 (pom)
--|-- utils (pom)
--|-- ejb (pom)
--|--|-- myappli-module6-c-ejb (jar)
--|-- war (pom)
--|-- applet (pom)
Run Code Online (Sandbox Code Playgroud)
注意:这是Maven 的平面结构,因为所有非叶子项目的
packaging
值都是"pom".(参见BetterBuildsWithMaven一书).
我们dependencyManagement
在" myappli
"pom 中的" "中定义依赖版本.这很好用.
我们的问题是重用依赖项本身.例如,ejb依赖项对于所有ejb项目(通过设计)是通用的.我们不想削减'粘贴,并且每次改变都要保持这一切!
我们考虑对ejb依赖项使用一些" import notion ",并在应用程序级别定义一次ejb依赖项.我们的失败尝试是:
parent pom
"的概念很好,但它已经被模块使用了,所以它不适用于我们的要求.无法识别XML实体定义.我们尝试了如下的pom,并得到错误
" Reason: Parse error reading POM. Reason: could not resolve entity named …
我正在根据动态值创建文件名,例如公司名称和forename/surname.
然后,我想在尝试创建文件之前验证文件名是否有效.这是检查它不包含任何非法字符,如果他们这样做,则替换它们.
我当然可以使用正则表达式,但是想知道是否有像commons-lang或commons-io这样的现有方法呢?
对于我来说,implementation-result-in-hibernate-getting-total-number-of-rows问题引发了另一个问题,关于一些实现问题:
现在你知道你必须重用部分HQL查询来计算,如何有效地重用?
两个HQL查询之间的差异是:
count(?)
,而不是pojo或属性(或列表)order by
应该消失还有其他差异吗?
您是否有编码最佳实践来有效地实现这种重用(关注点:努力,清晰度,性能)?
简单HQL查询的示例:
select a from A a join fetch a.b b where a.id=66 order by a.name
select count(a.id) from A a where a.id=66
Run Code Online (Sandbox Code Playgroud)
更新
我收到的答案是:
我希望有人会沿着另一条路径提供选项,更多与String连接相关.
我们可以使用通用部件构建两个HQL查询吗?
java ×6
maven-2 ×3
hibernate ×2
m2eclipse ×2
binary-tree ×1
clearcase ×1
derived ×1
eclipse ×1
hash ×1
hql ×1
import ×1
jar ×1
object ×1
pagination ×1
performance ×1
regex ×1
reusability ×1