Mik*_*e Q 15 java types hibernate jodatime
我知道hibernate最近在3.6中重写了它的类型系统.我认为现在允许您将java类与Type(或UserType)相关联.例如,我使用joda-time并有一些UserTypes将LocalDate和LocalDateTime映射到适当的SQL类型.
这在使用对象时工作正常,但如果我想将joda类型作为HQL参数传递,则hibernate会变得混乱,因此我必须记住每次拨打电话时都提供Type.
query.setParameter( "now", new LocalDateTime(), Hibernate.custom( LocalDateTimeType.class ) );
Run Code Online (Sandbox Code Playgroud)
我认为现在可以在Configuration/SessionFactory设置阶段说LocalDateTime - > LocalDatetimeType但我不知道如何做到这一点.我找到了TypeResolver但是在解密我应该调用哪种方法来实现这个方面有困难.
或者请纠正我,如果这是不可能的,即使使用3.6中的新类型的东西.
Mik*_*e Q 10
回答我自己的问题.
当你知道如何时很简单.
configuration.getTypeResolver().registerTypeOverride( LocalDateTimeType.TYPE, new String[]{ LocalDateTime.class.getName() } );
configuration.getTypeResolver().registerTypeOverride( LocalDateType.TYPE, new String[]{ LocalDate.class.getName() } );
Run Code Online (Sandbox Code Playgroud)
对未知类型的TypeResolver查找使用类名,因此在registrationKey执行作业时注册类的全名.
| 归档时间: |
|
| 查看次数: |
3709 次 |
| 最近记录: |