public class TrimStringTypeDescriptor extends org.hibernate.type.descriptor.java.AbstractTypeDescriptor<String>
String handling.
情景:当数据库字段为 char(10) 类型时,使用jpa插入数据长度不够 10 时,数据库会自动追加空格;
当再次使用jpa查询数据时,返回到前台的该char字段(在java中使用String接收)就会多出一些空格,需要去除。
一般除非字段长度总是固定的,数据库才可以考虑使用char类型,否则请使用varchar类型,这样就可以避免这个问题。
如何使用:在java实体类对应的字段方法或属性添加 @Type(type = TrimStringType.TYPE)
或者 @Type(type = "com.mwj.mwjwork.framework.jpa.TrimStringType")
代码参考自 org.hibernate.type.descriptor.java.StringTypeDescriptor.java| 限定符和类型 | 字段和说明 |
|---|---|
static TrimStringTypeDescriptor |
INSTANCE |
| 构造器和说明 |
|---|
TrimStringTypeDescriptor() |
| 限定符和类型 | 方法和说明 |
|---|---|
String |
fromString(String string) |
String |
toString(String value) |
<X> X |
unwrap(String value,
Class<X> type,
org.hibernate.type.descriptor.WrapperOptions options) |
<X> String |
wrap(X value,
org.hibernate.type.descriptor.WrapperOptions options) |
areEqual, extractHashCode, extractLoggableRepresentation, getComparator, getJavaType, getJavaTypeClass, getMutabilityPlan, unknownUnwrap, unknownWrappublic static final TrimStringTypeDescriptor INSTANCE
Copyright © 2020. All rights reserved.