翻文档没找到,还是说“范围”这种类型没法映射,数据库里只能放俩字段存上下限?
1
hantsy 2020-02-24 16:17:33 +08:00
自己写一个 Hibernate Type 或都使用 Hibernate Types 项目,https://vladmihalcea.com/map-postgresql-range-column-type-jpa-hibernate/
|
2
aragakiyuii OP @hantsy #1 这个好用,谢谢
|
3
hantsy 2020-02-24 16:50:09 +08:00
或者使用 JPA 2.1 中的标准的 Converter 实现,好处是跨 JPA Providers, 不管是 Hibernate,OpenJPA, EclipseLinks.
https://github.com/hantsy/ee7-sandbox/tree/master/jpa/converter/src/main/java/com/hantsylabs/example/ee7/jpa |
4
optional 2020-02-24 16:51:36 +08:00
然并软, 能 select 出来,但是不能传递到查询条件里去,jpa 只能用用基本特性,稍微复杂点就 GG。
|
5
hantsy 2020-02-24 16:51:40 +08:00
这个好像不大适合,不知道默认 Postgresql Range 映射成什么类型。
|
6
hantsy 2020-02-24 16:52:26 +08:00
还是要用 Hibernate Types。
|
7
hantsy 2020-02-24 16:55:37 +08:00
在 JPA 2.2 添加 Java 8 Datetime 类型支持之前,JPA 2.1 的 Converter 适合用于转换 Java DateTime 之类 JPA 不支持的类型这种场景。
|
8
aragakiyuii OP @optional #4 这个问题不大,做个映射就行,我这边用别的也得做映射
|
9
aragakiyuii OP @hantsy #7 嗯,谢谢,我自己实现 userType 做了。Vlad Mihalcea 的 hibernate-types 如果不买他那个 Hypersistence Optimizer 的话,每次启动都会打出来 warnning 和 banner
|
11
optional 2020-02-25 11:58:10 +08:00
|