我试图保留包含一些大型可序列化类型的对象.我希望Hibernate自动生成我的DDL(使用Hibernate批注).在大多数情况下,这是可行的,但是当持久化这些类型时,Hibernate使用的默认数据库列类型为tinyblob.不幸的是,这在尝试持久化我的类时会导致崩溃,因为这些类型不适合tinyblob的长度.
但是,如果我手动设置类型(使用@Column(columnDefinition =“ longblob”),或更方便地使用@Column(length = 500000)),则可以正常工作.有什么方法可以使默认二进制类型为longblob而不是tinyblob,从而无需在每个字段上手动指定@Column注释吗?
ExampleClass.java:
public class ExampleClass
{
@Column(columnDefinition="longblob")
ExampleSerializable ser1;
@Column(columnDefinition="longblob")
ExampleSerializable ser2;
...
}
ExampleSerializable.java:
public class ExampleSerializable implements java.io.Serializable
{
// MANY Fields
}
编辑
由于似乎有些混乱:使用@Column(columnDefinition =“ longblob”)注释每个字段(或更方便地使用@Column(length = 500000)),已经可以使用了.我正在寻找一种不需要我为每个字段添加注释的解决方案.
最佳答案
原文链接:https://www.f2er.com/mysql/532123.html