環境
現象
EclipseLink(JPA)において、CHAR型の主キー(PK)の値を取得すると
末尾のスペースが取得できない。(rtrimされたような状態で取得される)
こういうフィールドはVARCHARで設計すべきという一般論もありますが
今回はこのCHAR型のスペースがrtimされてしまう現象についてです。
Entityコード
@Entity
public class HogeEntity implements Serializable {
@Id
@Column @Getter @Setter
private String element;
@Column @Getter @Setter
private String // 略
// 略
}
対応方針の検討
これらを参照する所によると、取得後のfillSpaceで対応したり、@PostLoadアノテーションでカバーしたりするのは良くなさそうです。
VARCHARにしたり、SessionCustomizerをextendsするのが良さそうです。