小编Gre*_*aro的帖子

JPA - 找不到类型为enum的验证器

我有一个实体类,其中一个属性使用枚举类型,当我尝试持久化实体时,我得到以下异常:

javax.validation.UnexpectedTypeException: No validator could be found for type: model.schema.BaseYesNo
Run Code Online (Sandbox Code Playgroud)

知道为什么会这样吗?我的想法是,因为它是一个枚举,它应该已经由编译器验证,所以不需要某种验证器.(以下代码)

实体属性:

@Enumerated( EnumType.STRING )
@Column( name = "seeded_flag" )
private BaseYesNo seededFlag;

public BaseYesNo getSeededFlag() {
    return this.seededFlag;
}

public void setSeededFlag( BaseYesNo seededFlag ) {
    this.seededFlag = seededFlag;
}
Run Code Online (Sandbox Code Playgroud)

和枚举类型的定义:

public enum BaseYesNo {
    YES( "Y" ),
    NO( "N" );

    private String yesNoVal;

    private static Map< String, BaseYesNo > stringToEnum = new HashMap< String, BaseYesNo >();

    static {
            for ( BaseYesNo byn : BaseYesNo.values() ) {
            BaseYesNo.stringToEnum.put( byn.toString(), …
Run Code Online (Sandbox Code Playgroud)

java jpa bean-validation

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

OS X上的nano编辑器 - 如何键入MU进行撤消?

我在OS X Yosemite上使用nano 2.5.3,我在底部看到命令,例如:

MU撤消ME重做

到目前为止,我还无法弄清楚M指的是哪个或哪些键.MOS X上会有什么?

nano

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

为什么在IntelliJ中运行Scala 2.13测试而不是在Scala 2.12中运行时出现此错误?

当我尝试在带有Scala 2.13的IntelliJ(2019.1),Scala IntelliJ插件v2019.1.8中运行测试时遇到以下错误:

Exception in thread "ScalaTest-dispatcher" java.lang.NoSuchMethodError: scala.collection.JavaConverters.seqAsJavaListConverter(Lscala/collection/Seq;)Lscala/collection/convert/Decorators$AsJava;
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.treeBuilder.ParallelTreeBuilder.getOrdinalList(ParallelTreeBuilder.java:21)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.treeBuilder.ParallelTreeBuilder$SuiteTree.<init>(ParallelTreeBuilder.java:92)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.treeBuilder.ParallelTreeBuilder.initRun(ParallelTreeBuilder.java:261)
    at org.jetbrains.plugins.scala.testingSupport.scalaTest.ScalaTestReporterWithLocation.apply(ScalaTestReporterWithLocation.java:59)
    at org.scalatest.DispatchReporter$Propagator.$anonfun$run$10(DispatchReporter.scala:249)
    at org.scalatest.DispatchReporter$Propagator.$anonfun$run$10$adapted(DispatchReporter.scala:248)
    at scala.collection.immutable.List.foreach(List.scala:312)
    at org.scalatest.DispatchReporter$Propagator.run(DispatchReporter.scala:248)
    at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)

以下是我的Gradle依赖项:

dependencies {
    implementation 'org.scala-lang:scala-library:2.13.0'

    testImplementation 'org.scalatic:scalatic_2.13:3.0.8'
    testImplementation 'org.scalatest:scalatest_2.13:3.0.8'
}
Run Code Online (Sandbox Code Playgroud)

当我将依存关系更改为Scala 2.12.x时,测试将在IntelliJ中正确执行而没有错误。这里发生了什么?

scala intellij-idea scalatest scala-2.13

15
推荐指数
1
解决办法
2065
查看次数

为什么Xcode 4.3将@interface ClassName()放在实现文件中?

我在Xcode 4.3中创建了一个类,它在正确的位置创建了@interface和@implementation的头文件和实现文件,但实现文件中还有一个@interface,如下所示:

@interface MyClassName ()

@end
Run Code Online (Sandbox Code Playgroud)

为什么Xcode将它放在实现文件中以及它的用途是什么?

谢谢,库兹

xcode cocoa xcode4

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

这种幺半群法的名称是什么?

在文档中Data.Monoid,它声明应满足以下法律:

mappend mempty x = x
mappend x mempty = x
mappend x (mappend y z) = mappend (mappend x y) z
mconcat = foldr mappend mempty
Run Code Online (Sandbox Code Playgroud)

我对这些的理解是前两个是同一性,第三个是相关性.

但是第四行的法律是什么?身份再次,但为mconcat

haskell

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

麻烦理解Monad( - >)

在Monad的以下实例中:

instance Monad ((->) r) where
    return = const
    f >>= k = \ r -> k (f r) r
Run Code Online (Sandbox Code Playgroud)

这个强制k是两个参数的函数吗?如果是这样,你为什么会想通过(f r)rk

haskell

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

如何用GADT进行存在量化?

我有以下数据类型:

{-# LANGUAGE ExistentialQuantification #-}

data ExType = forall a. One a | forall a. Two a | forall a. Three a
Run Code Online (Sandbox Code Playgroud)

有了这个,我就能够创建异构列表:

[One 3, Two "hello", One 'G']

有人告诉我,GADT是实现这一目标的新方法.GADT可以隐含地做我上面要做的事情.到目前为止,我还没有能够使用GADT创建一个允许我进行异构列表的类型.我该怎么做呢?

谢谢

haskell

6
推荐指数
2
解决办法
461
查看次数

Gradle - 如何在主要版本冲突时失败?

如果我的项目需要依赖项com.abc:xyz:1.2.0,并且我有另一个需要传递的依赖项com.abc:xyz:2.0.0,这是一个主要问题,因为即使我的项目编译,也可能存在行为差异。出于某种原因,在这种情况下,Gradle 假设使用 2.0.0 完全没有问题,并选择了 2.0.0。

我想在这种情况下失败。我知道failOnVersionConflict(),但即使补丁段不匹配,这也会引发错误。仅当存在主要版本冲突时,我怎么会失败?

谢谢

gradle gradle-experimental gradle-dependencies

5
推荐指数
0
解决办法
220
查看次数

Git - 在特定提交之前压缩历史中的所有提交

我有一个要转换为 Git 的 Mercurial 存储库。提交历史非常大,我不需要新仓库中的所有提交历史。一旦我将提交历史转换为 Git(并且在推送到新存储库之前),我想将某个标签之前的所有提交压缩为一个提交。

所以,如果我有:

commit 6
commit 5
commit 4
commit 3
commit 2
commit 1 -- First commit ever
Run Code Online (Sandbox Code Playgroud)

我想结束:

commit 6
commit 5
commit X -- squashed 1, 2, 3, 4
Run Code Online (Sandbox Code Playgroud)

注意:我需要压缩数以千计的提交。因此,手动挑选/标记它们不是一种选择。

git

5
推荐指数
3
解决办法
2104
查看次数

Kotlin 当前的匿名对象函数名称在 Kotlin 1.3.x 中不再有效

在 Kotlin JVM 1.2.x 中,我可以执行以下操作:

inline fun <R> Logger.logStuff(
    crossinline f: () -> R
): R {
    val methodName = object {}.javaClass.enclosingMethod.name
    try {
        this.debug("$methodName : Begin")
        f()
        this.debug("$methodName : End")
    } catch (ex: Exception) {
        this.error("$methodName : Threw exception : $ex")
        throw ex
    }
}

class Foo {
    fun doStuff() = log.logStuff {
        1 + 3
    }
}
Run Code Online (Sandbox Code Playgroud)

这会给我这样的日志:

Foo : doStuff : Begin
Foo : doStuff : End
Run Code Online (Sandbox Code Playgroud)

但是,升级到 Kotlin 1.3.50(从 1.2.x 开始)后,我收到如下日志:

Foo : logStuff : Begin …
Run Code Online (Sandbox Code Playgroud)

kotlin

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