我在数据库中有一些具有固定长度的字段。我对JPA
和相当陌生JSR 303
。
JPA 不会让我保留一个具有比数据库中允许的大小更大的字段的实体(这是我想要的);@Column
并且用参数描述slength
仅对 ddl 生成有用。
此外,AFAIK,使用 JSR 303 描述参数@Size
只会在我希望修改字段时触发答案。
我想知道使用 JSR 303、JPA 或其他东西处理截断的标准方法是什么。
编辑:是否可以在 JPA 中启用一些自动截断?
此致
我在数据库中有一些具有固定长度的字段。我对JPA
和相当陌生JSR 303
。
JPA 不会让我保留一个具有比数据库中允许的大小更大的字段的实体(这是我想要的);@Column
并且用参数描述slength
仅对 ddl 生成有用。
此外,AFAIK,使用 JSR 303 描述参数@Size
只会在我希望修改字段时触发答案。
我想知道使用 JSR 303、JPA 或其他东西处理截断的标准方法是什么。
编辑:是否可以在 JPA 中启用一些自动截断?
此致
就像 JB Nizet 建议的那样,它可以用 setter 来完成。但这不会使它成为一个严格的 Java Bean。
您也可以在数据库中实现它,但这会降低您的实现的可移植性。
最好的方法是将这个逻辑保留在 bean 或 DB 之外。即在您的应用程序逻辑中。
更新:
如果您需要在 JPA 中进行截断,请查看 @EntityListeners 和回调。 http://docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/listeners.html