JPA - 是否存在将列值映射到值对象的机制?

时间:2014-04-25 11:03:57

标签: java jpa

是否有JPA机制可以自动将StringInteger等列值转换为像我MyDate这样的值对象?

在我的情况下,对于代表MyDate的每个字段,getter中的代码都是一个setter,可以从Integer转换为MyDate,反之亦然。此代码重复增加不成比例。

以下看起来像我正在寻找。 MyDate不是实体,而是价值对象。

@Column (name = "d_end")
private MyDate dEnd;

1 个答案:

答案 0 :(得分:2)

您可以使用JPA的@Embeddable和@Embedded:

尝试使用注释:MyDate创建@Embeddable类,同时在MyDate中定义数据库列。

然后在你的实体中:

@Embedded
private MyDate dEnd;

修改

我想粘贴一个有意义的示例,在短暂的谷歌之后,我找到了这个链接,阅读它,它解释了如何在细节中使用它们(带示例):

http://en.wikibooks.org/wiki/Java_Persistence/Embeddables