gpt4 book ai didi

java - TEXT 的 hibernate 列注释

转载 作者:IT老高 更新时间:2023-10-28 13:49:04 27 4
gpt4 key购买 nike

我有一个带有 MySQL 数据库的 Spring MVC 启动应用程序,我正在尝试在我的数据库中获取一个 TEXT 字段。我有以下代码:

成员(member).java

@Entity
public class Member {
private Long id;
private String name;

@Column(columnDefinition = "TEXT")
private String biography;

private String country;
private String state;
private String city;
private Date dateOfBirth;
private String gender;

//Getters and setters

application.properties

spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.datasource.url=jdbc:mysql://localhost:3306/wave
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=mysql
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.h2.console.enabled=true

这是它创建的 Hibernate

Hibernate: drop table if exists member
Hibernate: create table member (id bigint not null auto_increment, biography varchar(255), city varchar(255), country varchar(255), date_of_birth date, gender varchar(255), name varchar(255), state varchar(255), primary key (id)) ENGINE=InnoDB

它仍然将其设置为 varchar(255)。谁能帮我解决这个问题?提前谢谢你。

最佳答案

org.hibernate.dialect.MySQLDialect类中有一行:

registerColumnType( Types.CLOB, 65535, "text" );

因此,如果您像这样定义您的字段:

@Column(length = 65535, columnDefinition = "text")
private String biography;

它应该可以解决问题。

关于java - TEXT 的 hibernate 列注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43500155/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com