mysql 创建VARBINARY类型的表

t1qtbnec  于 2023-10-15  发布在  Mysql
关注(0)|答案(1)|浏览(103)

我有这个实体:

  1. @Entity
  2. @Table(name = "users",
  3. uniqueConstraints = {
  4. @UniqueConstraint(columnNames = "username"),
  5. @UniqueConstraint(columnNames = "email")
  6. })
  7. @Getter
  8. @Setter
  9. @AllArgsConstructor
  10. @NoArgsConstructor
  11. @Builder
  12. @ToString
  13. public class User {
  14. @Id
  15. @GeneratedValue(strategy = GenerationType.IDENTITY)
  16. private Long id;
  17. @NotBlank
  18. @Size(max = 50)
  19. private String username;
  20. @NotBlank
  21. @Size(max = 50)
  22. @Email
  23. private String email;
  24. @NotBlank
  25. @Size(max = 120)
  26. private String password;
  27. BigDecimal lat;
  28. BigDecimal lon;
  29. @Column(columnDefinition="VARBINARY")
  30. byte[] natalChart;
  31. ...
  32. }

在我的财产文件中:

  1. spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect
  2. spring.jpa.hibernate.ddl-auto=update

当启动应用程序时,我遇到了这个错误:

  1. org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table users (id bigint not null auto_increment, ascendant varchar(255), creation_date datetime(6), day integer not null, email varchar(50), hour integer not null, language varchar(255), last_login_date datetime(6), last_password_reset_date datetime(6), lat decimal(38,2), lon decimal(38,2), minute integer not null, mobile_os varchar(255), month integer not null, natal_char_desc bit, natal_char_titles bit, natal_chart VARBINARY, password varchar(120), platform varchar(255), solar_return_desc bit, solar_return_titles bit, subscription_expiration_date datetime(6), time_zone float(53) not null, token varchar(255), username varchar(50), year integer not null, primary key (id)) engine=InnoDB" via JDBC [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ', password varchar(120), platform varchar(255), sol' at line 1]
  2. at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:92)
  3. at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlString(AbstractSchemaMigrator.java:574)
  4. at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.applySqlStrings(AbstractSchemaMigrator.java:514)
  5. at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.createTable(AbstractSchemaMigrator.java:315)
  6. at org.hibernate.tool.schema.internal.GroupedSchemaMigratorImpl.performTablesMigration(GroupedSchemaMigratorImpl.java:80)
  7. at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.performMigration(AbstractSchemaMigrator.java:232)
  8. at org.hibernate.tool.schema.internal.AbstractSchemaMigrator.doMigration(AbstractSchemaMigrator.java:117)
  9. at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:284)
  10. at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:143)
  11. at java.base/java.util.HashMap.forEach(HashMap.java:1429)
  12. at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:140)
  13. at org.hibernate.boot.internal.SessionFactoryObserverForSchemaExport.sessionFactoryCreated(SessionFactoryObserverForSchemaExport.java:37)
  14. at org.hibernate.internal.SessionFactoryObserverChain.sessionFactoryCreated(SessionFactoryObserverChain.java:35)
  15. at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:292)
  16. at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:431)
  17. at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1455)
u4vypkhs

u4vypkhs1#

你需要添加长度(字节)到你的VARBINARY -例如。VARBINARY(255).应该没问题,祝你好运。

相关问题