任何人都有一个使用包装对象的例子,比如Scala的Option,用于Hibernate中的@ManyToOne关联?Hibernate @ManyToOne关联Scala选项类型
谢谢。
编辑: 感谢您的建议。经过进一步的思考,我已经开始使用私有变量并公开他们拥有返回Option [MyType]的scala getters/setter。像这样:
class EmailFolder(__parent: Option[EmailFolder] = None) {
//.... default constructor etc...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parent_id")
private[this] var _parent: EmailFolder = __parent.orNull
def parent = Option(_parent)
def parent_=(newVal:Option[EmailFolder]) = _parent = newVal.orNull
}
这个工作,我不再需要在我的应用程序中使用空值。
- 安德烈亚斯
我不是一个斯卡拉的家伙,但看着选项,似乎你可能会试图得到以下两件事之一:空vs非空感(无VS一些)或许多类型的东西之一。这是什么? – sharakan 2012-04-11 13:14:15
问题是,@ManyToOne关系是可选的,我不想为该关联传递null值,但想要使用Option来传递Some(MyObject)或None,以确定DB值是否为null或者不使用自定义Hibernate用户类型来执行到/从选项(一些或无)的转换。 – andreak 2012-04-11 17:43:28
包装的类是否具有除Object或其他Java内置类之外的通用基类? – sharakan 2012-04-11 20:03:33