首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >设置从表导入实体的JPA行为

设置从表导入实体的JPA行为
EN

Stack Overflow用户
提问于 2020-06-08 15:17:48
回答 2查看 89关注 0票数 0

当JPA试图从表中生成实体时,如何告诉JPA如何在数据库中使用不同的列类型进行操作?

例如,当我在MySQL中有如下列时:

代码语言:javascript
代码运行次数:0
运行
复制
`deleted` tinyint(1) NOT NULL DEFAULT 0,

我希望JPA生成的实体中有boolean而不是byte,但是JPA将生成的内容如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
@Column(nullable=false)
private byte deleted;

然而,我想要这样的东西:

代码语言:javascript
代码运行次数:0
运行
复制
@Column(nullable=false)
@Type(type = "org.hibernate.type.NumericBooleanType")
private boolean deleted;

我认为一定有一种方法可以告诉JPA如何在Java实体中转换表中的列类型。

我不喜欢手工修改实体!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-18 13:45:57

在向导的最后一页中,我们可以为每一列定义预期的类型。有趣的是,eclipse以某种方式为每一列存储选定的类型,将来当您尝试重新生成不需要执行此步骤的实体时!

票数 0
EN

Stack Overflow用户

发布于 2020-06-09 07:51:49

如果您想知道如何配置Eclipse向导将TINYINT映射到boolean,那么答案可能是您不能。

不过,使用Hibernate工具看起来更有希望。有一个hibernate.reveng.xml配置文件可以用来控制类型映射。

作为附带说明:

我不喜欢手工修改实体!

请注意,反向工程工具通常缺乏生成完全合理的业务模型结构所需的业务知识。您可能需要做一些调整(例如,您可能不会得到任何@ManyToMany关联,即使它们是更自然的解决方案域)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62265378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档