小编Mig*_*ing的帖子

EntityManager返回的JPA的Query对象是否可重用?

假设我在创建JPA查询的循环中:

for(A elem : collection) {
  emanager.createQuery("update A a set a.x=:y where a.id=:id")
          .setParameter("id",elem.id)
          .setParameter(":y", 123)
          .executeUpdate();
}
Run Code Online (Sandbox Code Playgroud)

我可以重用返回的Query实例吗?

Query query = emanager.createQuery("update A a set a.x=:y where a.id=:id");
for(A elem : collection) {
  query
          .setParameter("id",elem.id)
          .setParameter(":y", 123)
          .executeUpdate();
}
Run Code Online (Sandbox Code Playgroud)

它适用于所有实例Query吗?NamedQuery,NativeQuery等等当然,我在谈论重用同一个实例EntityManager,即在同一个事务中

java jpa

5
推荐指数
1
解决办法
2599
查看次数

Ruby优化不在CI服务器中工作

我在Jenkins服务器中遇到错误:

$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
Run Code Online (Sandbox Code Playgroud)

运行rspec时,我有以下错误:

 undefined method `using' for #<Class:0x000000026f9c88> (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

完全相同的代码在我的本地计算机上运行,​​使用ruby2.这是我的版本:ruby 2.0.0dev (2012-12-01 trunk 38126) [x86_64-linux] 此外,它适用于irb.似乎ruby using在运行脚本时没有识别语句.

这是代码:

describe "blah" do
    include TestHelper
    using TestHelper::BrowserRefinement
    ...
end
Run Code Online (Sandbox Code Playgroud)

澄清:细化在不同的文件中定义.我正在鞭打互联网,看看修订版r39474和版本之间是否存在差异r38126.

ruby linux ruby-2.0

5
推荐指数
1
解决办法
339
查看次数

Spring:在运行时以编程方式注册通知

是否可以在应用程序启动并初始化上下文以编程方式注册 AOP 建议?

当我尝试时,这些建议不起作用,据说是因为它们需要在 bean 在上下文中可用之前对其进行包装。

像这样(它不起作用):

@Bean
private AspectJExpressionPointcutAdvisor createPointcutAdvisor(AWSXRayRecorder awsxRayRecorder, String name, String pointcut) {

    AspectJExpressionPointcutAdvisor advisor = new AspectJExpressionPointcutAdvisor();
    advisor.setExpression("execution ...()");
    advisor.setAdvice(new CustomAdvice("custom bean"));

    return advisor;
  }
Run Code Online (Sandbox Code Playgroud)

说明:我需要从配置文件中读取建议列表,并相应地注册切入点。我需要标签以用于预订目的。文件内容在编译时未知。

label: execution(* com.my.ns.OtherClass(..))
label2: execution(* com.my.ns.Class(..)) 
Run Code Online (Sandbox Code Playgroud)

spring aspectj spring-aop

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

Java Swing:在鼠标悬停时更改背景颜色

我已经实现了一个简单的鼠标监听器,只要鼠标进入组件(JPanel),背景颜色就会改变,只要鼠标离开,它就会恢复.这有一些问题:

  • 有时鼠标移动得太快,以至于不会触发mouseExit事件
  • 如果我的组件有子节点,当鼠标移动到子节点时它会触发mouseExit
  • 如果我将鼠标快速移动到子节点,则不会触发mouseEnter事件

我猜这对于Swing老兵来说很简单.对于如何解决这个问题,有任何的建议吗?我不想使用计时器等......

java mouse swing background mouseout

4
推荐指数
1
解决办法
9072
查看次数

Maven - 对所有用户输入自动响应“是”

目前我有一个 grails/maven 项目。现在我正在将我的 grails proj 升级到 1.2.1。问题是升级要求用户输入,如果我的 CI 服务器尝试构建它,它会停止询问用户是否要升级某些插件。

有没有办法告诉 Maven 对所有用户输入都响应“y”?

java maven

4
推荐指数
2
解决办法
555
查看次数

使用jQuery在一组对象中选择多个属性值

在这个例子中,我选择了一堆'A'在'LI'中(我选择的并不重要,只知道我正在返回一组'A'标签,这些标签都具有相同的"属性结构").

我想知道如何返回"属性值"的逗号分隔列表(或对象/集合).我想知道是否可以在没有循环的情况下完成.

alert($(".bzsUserSelector-selected A"));
// this returns "[object]", which is expected

alert($(".bzsUserSelector-selected A").length);
// this returns "4", which is expected for my example

alert($(".bzsUserSelector-selected A").attr("myAttribute"))
// this returns "aaa", which is the value of the FIRST "myAttribute" only, I don't want that.
// I want something like this  "aaa, bbb, ccc, ddd"
Run Code Online (Sandbox Code Playgroud)

我希望返回一个4项的对象,只返回"myAttribute"属性的4个值.

我希望这很清楚.提前致谢. - 马克

javascript jquery

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

Java simple String diff util

我正在寻找一个简单的java lib/src来突出显示两个字符串之间的区别,区分大小写.一个html输出会很棒,但我很乐意得到差异的索引,如:

diff("abcd","aacd") 
> [2,2]
diff("maniac", "brainiac")
> ["man",brain"] or [0,3] or something like that
Run Code Online (Sandbox Code Playgroud)

由于输入符合严格的约定,因此想法是在摆动程序中突出错别字或类似错误.

java string algorithm diff swing

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

JSF ui:片段渲染性能

我有一组jsf组件,这些组件是从一组excel文件静态生成的(它们由业务人员更新).每个生成的文件表示一个业务对象,该业务对象具有稍微不同的数据,并且它们都属于同一个类.

为了动态呈现这个,我找到的唯一解决方案是ui:fragment在运行时设置一堆并调度到正确的组件:

<!-- IMPLEMENTATION -->          
<composite:implementation> 
    <ui:fragment rendered="#{cc.attrs.type eq 'cartcred'}">
        <limites:limites-cartcred  limite="#{cc.attrs.limite}"/>
    </ui:fragment>
    <ui:fragment rendered="#{cc.attrs.type eq 'cdcp'}">
        <limites:limites-cdcp limite="#{cc.attrs.limite}"/>
    </ui:fragment>
    <ui:fragment rendered="#{cc.attrs.type eq 'cheqpredatado'}">
        <limites:limites-cheqpredatado limite="#{cc.attrs.limite}"/>
    </ui:fragment>
    <ui:fragment rendered="#{cc.attrs.type eq 'confirming'}">
        <limites:limites-confirming limite="#{cc.attrs.limite}"/>
    </ui:fragment>
   <!-- many more lines -->
   <!-- many more lines -->
   <!-- many more lines -->
    <ui:fragment rendered="#{cc.attrs.type eq 'contacorr'}">
        <limites:limites-contacorr limite="#{cc.attrs.limite}"/>
    </ui:fragment>
Run Code Online (Sandbox Code Playgroud)

但我发现这种表现非常糟糕.我认为JSF只会渲染一个组件,但它似乎正在渲染所有这些组件并在运行时"隐藏"其他组件.

有没有更有效的方法来实现我的目标?我想基于有关业务类的运行时信息呈现单个组件(很像if-then-else),但我只能确定在运行时呈现的组件是什么.


澄清: 发生的事情是,引用的每个组件limites:limites*都是一个包含许多其他组件的巨大复杂页面.在运行时,名为type' will decide what component to render. But my tests show that …

java performance jsf components

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

Java与Ruby HMAC SHA256不同意

我无法让Ruby和Java就HMAC达成一致意见:

红宝石:

hmac_key = "my hmac key" #this is THE REAL KEY
msg = "fCyVmpFAZxv9Utui2QWGUtoGJ//Zr5aH+1PV31ry/dwX3yVdeEMIMW/dfoA9\nihbnYrnoSnb2yyfOrBYoy0JlDvWz8GJ6dY643lDTj7xcw8Q="
hashb16  = OpenSSL::HMAC.hexdigest('sha256', hmac_key, msg)
puts hashb16

052310d1fc91df4e5bbb47194cc401feed51eca98668b501555c78774dad6bed
Run Code Online (Sandbox Code Playgroud)

Java的:

String hmac_key = "my hmac key";
String encrypted_message_b64 = "fCyVmpFAZxv9Utui2QWGUtoGJ//Zr5aH+1PV31ry/dwX3yVdeEMIMW/dfoA9ihbnYrnoSnb2yyfO\nrBYoy0JlDvWz8GJ6dY643lDTj7xcw8Q=";
final Mac hmac = Mac.getInstance("HmacSHA256");
hmac.init(new SecretKeySpec(hmac_key.getBytes("UTF-8"), "HmacSHA256"));
byte[] signature = hmac.doFinal(encrypted_message_b64.getBytes("UTF-8"));
System.out.println(Hex.encodeHexString(signature));

d5bc0b58f43c6f6611f63822d22f99e18c51a33251a5a1c0c7712b4c7fb1ad24
Run Code Online (Sandbox Code Playgroud)

你能发现什么是错的吗?


编辑:我修复了严重复制/粘贴的字符串.

Edit2:我恢复了修复,并在ruby字符串上使用了正确的内容,因此答案和接受的答案仍然有意义.对不起这个烂摊子

ruby java encryption hmac

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

将元素列表转换为tuple5,防止索引超出范围

我正在尝试从scala列表创建一个元组:

.map('path -> ('uri1, 'uri2, 'uri3, 'uri4, 'uri5)) {elems:List[String] =>

  (elems(0), elems(1), elems(2), elems(3), elems(4)) //ouf of bounds!
}
Run Code Online (Sandbox Code Playgroud)

但是elems可能有1到5个元素,所以很明显我会遇到一个超出范围的索引异常.

这样做的scala/scalding方法是什么?我猜测正确的方法是迭代1到5的范围并从那里生成元组.

null当元素不存在时,我想返回(出于兼容性原因).

scala scalding

0
推荐指数
1
解决办法
742
查看次数

Perl AES与Ruby AES

我不能让Perl和Ruby同意CBC AES:

Perl的

use Crypt::CBC;
use MIME::Base64::Perl;

my $cipher = Crypt::CBC->new(
        -key         => 'd2cb415e067c7b13',
        -iv          => 'e36dc751d0433f05', #random 16chars!!!!!! shold NOT repeat between requests
        -cipher      => 'OpenSSL::AES',     #this is same as Rijndael
        -literal_key => 1,        
        -header      => "none",
        -keysize     => 16
  );  

$encypted = $cipher->encrypt("a really really long long text has differrent results???");
$base64 = encode_base64($encypted);

print("Ciphertext(b64): $base64");

$de_base64 = decode_base64($base64);
$decrypted = $cipher->decrypt($de_base64);
$c = $cipher->finish;
Run Code Online (Sandbox Code Playgroud)

密文(b64):qz4eSQaFkQUkDOyJSbZf5W03HoldwtgvTLq0yJFRViKJnytf3PVSCGW2CYDjO + tRqV20oxeB2VPa 7NqN1TDSNQ ==

在该2VPa部分后面有一个换行符,在结尾处有另一个换行符

红宝石

require 'openssl'
require 'digest/sha2' …
Run Code Online (Sandbox Code Playgroud)

ruby encryption perl aes

-1
推荐指数
1
解决办法
1298
查看次数