当我的代码发出这样的调用时:
entityManager.find(Customer.class, customerID);
Run Code Online (Sandbox Code Playgroud)
如何查看此调用的SQL查询?假设我没有访问数据库服务器来分析/监控调用,是否可以在我的IDE中记录或查看JPA调用发出的相应SQL查询?我使用jTDS驱动程序反对SQL Server 2008 R2.
我有关于格式化卢比货币(印度卢比 - 印度卢比)的问题.
通常,类似的值450500被格式化并显示为450,500.在印度,相同的值显示为4,50,500
例如,此处的数字表示为:
1
10
100
1,000
10,000
1,00,000
10,00,000
1,00,00,000
10,00,00,000
Run Code Online (Sandbox Code Playgroud)
参考印度编号系统
分隔符在两位数后面,除了最后一组,数千.
我在互联网上搜索过,人们要求使用区域设置en_GB或模式#,##,##,##,##0.00
我通过使用以下标记在JSTL上尝试了这个:
<fmt:formatNumber value="${product.price}" type="currency"
pattern="#,##,##,##,###.00"/>
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有解决问题.任何有关此事的帮助将不胜感激.
谢谢
我们希望使用多列唯一索引来防止MS访问数据库中的记录重复.由于数据的发送方式(通过网络),有时会收到重复数据.数据源不发送唯一ID,因此最简单的选项是防止插入重复记录.
根据独特指数设计指南:
使用多列唯一索引,索引可确保索引键中每个值组合都是唯一的.例如,如果在LastName,FirstName和MiddleName列的组合上创建唯一索引,则表中的任何两行都不能具有这些列的相同值组合.
这是针对SQL 2005的,所以我不确定是否可以使用MS访问.
我想另一种方法是使用查询(伪代码):
insert into foobar (a, b, c) values ('x', 'y', 'z')
where (a <> 'x') and (b <> 'y') and (c <> 'z')
Run Code Online (Sandbox Code Playgroud)
...但我觉得索引会更好.
我在本地机器上配置了maven3.0.3.已经安装了m2e eclipse插件.但是当我尝试使用maven-archetype-webapp创建一个新的maven项目时,我得到以下异常.
Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of the configured repositories.
Could not resolve artifact org.apache.maven.archetypes:maven-archetype- webapp:pom:RELEASE
Failed to resolve version for org.apache.maven.archetypes:maven-archetype- webapp:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype- webapp/maven-metadata.xml in local ([HOME]/.m2/repository)
Failed to resolve version for org.apache.maven.archetypes:maven-archetype- webapp:pom:RELEASE: Could not find metadata org.apache.maven.archetypes:maven-archetype- webapp/maven-metadata.xml in local ([HOME]/.m2/repository)
Run Code Online (Sandbox Code Playgroud)
我在代理后面进行一些处理,并更新代理配置 {HOME}/.m2/settings.xml and M2_HOME/conf/settings.xml.
archetype generate命令在命令行中正常工作.它通过代理下载了依赖项.
任何帮助是极大的赞赏.
编辑05-10-2012在eclipse中创建一个新的Maven Web项目时,原型"maven-archetype-webapp"版本显示为RELEASE.无论如何这是否相关?
创建密钥后,如何使用Keystore类的方法存储它们以及如何加载密钥?
要创建我的应用程序的配置,我需要运行bash脚本.是否有可能在Maven中集成bash脚本的执行,也许有一些插件?谢谢.
我有一个Spring bean,让我们说:
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class AImpl implements A {
public void setSomeDependency(D dependency) {
// This setter DOES NOT BELONG to interface A
}
}
<bean id="aImpl" class="AImpl"/>
Run Code Online (Sandbox Code Playgroud)
现在我想集成测试它,但首先我需要模拟依赖D,因为它做了太多的东西.由于AImpl实现了一个接口并包含一个事务注释,生成的代理只与接口兼容A,所以我可以这样做:
@Inject @Named("aImpl")
private A a;
Run Code Online (Sandbox Code Playgroud)
但不能:
@Inject @Named("aImpl")
private AImpl a;
Run Code Online (Sandbox Code Playgroud)
结果,我无法模仿我的依赖.
请注意,添加void setSomeDependency(D dependency)到界面A不是一个选项,因为它没有商业含义.它都没有使用proxy-target-class="true",因为它打破了很多其他bean(这个属性会影响上下文中的所有bean).
有没有办法解开注入的bean A,所以我可以把它投射到AImpl?
我不能在JLS/JVMSpec中找到它,也不能在SO中找到它.我肯定一定会被问到......
那么,"新"究竟做了什么?假设我们在A中实例化一个B类:
class A {
// ...
new B();
// ...
}
Run Code Online (Sandbox Code Playgroud)
这相当于
class A {
// ...
A.class.getClassLoader().loadClass("B's canonical name").newInstance();
// ...
}
Run Code Online (Sandbox Code Playgroud)
?
它是,还是在每个环境中都不像那样?
如果您能指出JLS/JVMSpec中的相应章节,我将不胜感激.谢谢!
编辑:我们肯定不能叫B.class.getCanonicalName()在loadClass()打电话,因为B的尚未加载.JVM必须根据import语句解析名称.
Maven允许基于其运行的操作系统系列激活某些构建配置文件,例如:
<profile>
<activation>
<os><family>Windows</family></os>
</activation>
</profile>
Run Code Online (Sandbox Code Playgroud)
围绕这个问题有很多问题:当时允许的值是os.family多少?他们是否区分大小写?Linux会遇到Unix吗?还是unix?等等.
我在哪里可以找到有关允许值的信息 - 或者至少Maven从哪里获取这些值?环境变量?
是否有像语言代码的任何常量"en"或"de"Java或在一个Java库?(或者正在使用字符串OK?)
我知道类似的东西
Locale.COUNTRY-NAME.getLanguage()
Run Code Online (Sandbox Code Playgroud)
会工作,但我正在寻找更精简的东西
Locale.LANGUAGE-NAME
Run Code Online (Sandbox Code Playgroud)