Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置从表导入实体的JPA行为_Jpa - Fatal编程技术网

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

设置从表导入实体的JPA行为,jpa,Jpa,当JPA试图从表中生成实体时,我如何告诉它如何处理数据库中的不同列类型 例如,当我的MySQL中有如下列时: `deleted`tinyint(1)不为空默认值0, 我希望JPA生成的实体中有布尔值,而不是字节,但JPA将生成如下内容: @Column(nullable=false) private byte deleted; @Column(nullable=false) @Type(type = "org.hibernate.type.NumericBooleanType") priv

当JPA试图从表中生成实体时,我如何告诉它如何处理数据库中的不同列类型

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

`deleted`tinyint(1)不为空默认值0,
我希望JPA生成的实体中有
布尔值
,而不是
字节
,但JPA将生成如下内容:

@Column(nullable=false)
private byte deleted;
@Column(nullable=false)
@Type(type = "org.hibernate.type.NumericBooleanType")
private boolean deleted;
然而,我想要这样的东西:

@Column(nullable=false)
private byte deleted;
@Column(nullable=false)
@Type(type = "org.hibernate.type.NumericBooleanType")
private boolean deleted;
我想一定有一种方法可以告诉JPA如何在Java中的实体中转换表中的列类型


我不喜欢手工修改实体

如果您询问如何将Eclipse向导配置为将
TINYINT
映射到
boolean
,那么答案可能是您不能

不过,使用它看起来更有希望。有一个配置文件可用于控制类型映射

作为旁注:

我不喜欢手工修改实体


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

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