0

我在数据库中有一些具有固定长度的字段。我对JPA和相当陌生JSR 303

JPA 不会让我保留一个具有比数据库中允许的大小更大的字段的实体(这是我想要的);@Column并且用参数描述slength仅对 ddl 生成有用。

此外,AFAIK,使用 JSR 303 描述参数@Size只会在我希望修改字段时触发答案。

我想知道使用 JSR 303、JPA 或其他东西处理截断的标准方法是什么。

编辑:是否可以在 JPA 中启用一些自动截断?

此致

4

1 回答 1

1

就像 JB Nizet 建议的那样,它可以用 setter 来完成。但这不会使它成为一个严格的 Java Bean。

您也可以在数据库中实现它,但这会降低您的实现的可移植性。

最好的方法是将这个逻辑保留在 bean 或 DB 之外。即在您的应用程序逻辑中。

更新:

如果您需要在 JPA 中进行截断,请查看 @EntityListeners 和回调。 http://docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/listeners.html

于 2013-03-08T16:31:55.107 回答