小编Jiř*_*řík的帖子

Hibernate可以使用与字段名称不同的实体属性的逻辑名称吗?

比方说,有一个Hibernate实体通过注释配置了字段访问.我想映射一个Java类字段,_name以便它的Hibernate的逻辑名称name,例如,当从HQL查询引用时.我需要这个主要用于收藏.

预测不正确的建议:将访问类型切换为"属性"是不可能的; 该任务与物理列的名称无关.

java orm hibernate jpa

10
推荐指数
1
解决办法
3366
查看次数

在Scala中执行字符串条件连接的最惯用方法

我很好奇,如果某些块动态依赖于外部条件,那么通过顺序追加文本块来构建String值的最佳方法是什么.解决方案应该是Scala惯用的,没有太多的速度和内存惩罚.

例如,如何在Scala中重写以下Java方法?

public String test(boolean b) {
    StringBuilder s = new StringBuilder();
    s.append("a").append(1);
    if (b) {
        s.append("b").append(2);
    }
    s.append("c").append(3);
    return s.toString();
}
Run Code Online (Sandbox Code Playgroud)

scala

7
推荐指数
3
解决办法
4421
查看次数

与Scala Map条目匹配的模式

是否有任何Scala技巧可以启用与地图键的模式匹配?换句话说,我想在Map实例旁边有一个提取器也接受一个键值,这意味着只有当matchable值是Map的一个实例并且有一个带有给定键的条目时,我希望这个模式匹配在其中,此条目的值受递归模式匹配的影响.

像这样的东西:

myMap match {
    case MyMap("a")(a) => // do smth with value a
    case MyMap("b")(MyMap("c")(c)) => // do smth with value c
}
Run Code Online (Sandbox Code Playgroud)

更新:

我找到了一些接近目标的方法,但它仍然不完美,因为它意味着合成键值持有者的定义:

case class MapKey[K](key: K) {
  def unapply(o: Any) = o match {
    case m: Map[K, _] ? m.get(key)
    case _ ? None
  }
}

val m1 = Map("a" ? "aa", "b" ? Map("c" ? "cc"))
val m2 = Map("a" ? "aa", "d" ? "dd")

val b = MapKey("b")
val c = MapKey("c")
val d …
Run Code Online (Sandbox Code Playgroud)

scala pattern-matching extractor

7
推荐指数
1
解决办法
4244
查看次数

Scala中的自称字段和访问器

根据经验发现,Scala允许对象私有变量和方法的名称冲突,如下所示:

class Test {
  private[this] var x = 1
  def x(): String = this.x.toString
}
Run Code Online (Sandbox Code Playgroud)

此代码至少对Scala 2.10有效,并且完全符合我的预期(反编译成Java):

public class Test {
    private int x;

    public String x() {
        return BoxesRunTime.boxToInteger(x).toString();
    }

    public Test() {
        x = 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我不确定我是否可以在以后的Scala版本中依赖这种行为,因为我无法在规范中找到这种行为是设计的权威证据.那么,有人能建议我这样的知识来源吗?

更新:我的目标是使用这种方法将Hibernate数据模型映射到Scala类.由于没有简单的方法可以让Hibernate支持Scala集合,因此我希望将Java集合映射到私有字段中,然后以自我标题的访问器方法将其包装到Scala集合中.关键要求是保持字段和方法的名称相同,因为我还想保留逻辑Hibernate集合名称,例如在HQL中引用它.

scala

6
推荐指数
1
解决办法
120
查看次数

具有NTLM身份验证的SOAP Web服务的Java客户端

我花了很多天,试图找到一个可以连接到使用Negotiate/NTLM身份验证的Microsoft Dynamics CRM的正确Java框架.我使用各种HTTP协议处理程序,使用JAX-WS,Axis2,CXF尝试了Stackoverflow和其他资源上的所有现有建议.没有人像预期的那样工作.目前最好的方法是Axis2/commons-httpclient-3.1,我可以使用NTLM摘要跟踪至少所有三个阶段,但目标IIS仍然拒绝使用401 Unauthorized进行身份验证.阿帕奇CXF - 都与一个内置的Java6 NTLM支持和JCIFS,其中一些人建议的一种补救措施,也没有工作,要么因为前者未能在第二401响应(虽然它应该已经发送第三请求,根据协议),后者尝试从空输入流中读取响应代码并失败.

那么,问题是是否有人成功地从Java 6平台掌握了受NTLM保护的SOAP Web服务?

java axis2 ntlm cxf

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

标签 统计

scala ×3

java ×2

axis2 ×1

cxf ×1

extractor ×1

hibernate ×1

jpa ×1

ntlm ×1

orm ×1

pattern-matching ×1