Hibernate5 - 将所有VARCHAR(255)更改为TEXT而不逐字段映射?

时间:2017-09-03 00:57:44

标签: java hibernate sqldatatypes hibernate-5.x

Hibernate5是否可以将所有props.item.published映射到String; 没有单独注释或映射每个字段?

更新

我一直在对此进行一些研究并且非常接近,但仍然没有明显的解决途径。

线索#1 enter image description here 来自https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html

Tha链接进入https://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html#basic-custom-type,这是另一个兔子洞

1 个答案:

答案 0 :(得分:1)

使用hibernate,如果字段名称和列相同,则可以忽略每个字段上的Annotation。 例如: 数据库:USER_NAME - >字段名称:user_name;

要将VARCHAR类型映射到String,您可以创建自定义Dialect。例如,如果使用MySQL,则可以创建类扩展MySQLDialect并创建映射数据类型。

public class CustomMySQLDialect extends MySQLDialect  {
    public MySQLDialectDataType() {
        registerHibernateType(Types.NVARCHAR, 255, "string");
        registerHibernateType(Types.BIGINT, "long");
    }
}