Fed*_*ani 18 java orm hibernate jpa java-8
我试图java.util.Optional
在一些Persistent类中使用.是否有任何解决方法使其工作?我已经尝试过使用UserType,但它不可能处理像Optional这样的东西而不用手工映射到SQL类型(不可接受)我也尝试使用JPA Converter,但它不支持参数化类型.我可以使用包装getter和setter之类的,但它更像是一个hack而不是一个解决方案
public class MyClass {
private MyOtherClass other;
public Optional<MyOtherClass> getOther() {
return Optional.ofNullable(other);
}
public voud setOther(Optional<MyOtherClass> other) {
this.other = other.orElse(null);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
Vla*_*cea 33
正如本博文中所述,您不能将其java.util.Optional
用作持久化实体属性,因为Optional
不是Serializable
.
但是,假设您使用的是基于字段的访问,则可以Optional
在getter/setter方法中使用该容器.
然后,Hibernate可以从实体属性中获取实际类型,而getter和setter可以使用Optional
:
private String name;
public Optional<String> getName() {
return Optional.ofNullable(name);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8514 次 |
最近记录: |