我在使用Hibernate在MySQL数据库中创建tinyint字段时遇到问题。
我以前是这样写Entity类的
@实体
@Table(name =“ tablename”)
公共类MyEntity {
private int id;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
当我检查MySQL时,id字段始终以Integer(11)结尾,如何将其设置为TinyInt?
任何答案将不胜感激
我认为有几种方法可以做到这一点。第一种是使用@Column批注上的columnDefinition属性来读取如下内容:
@Column(name = "id", columnDefinition = "TINYINT")
这不能跨数据库移植,并且与变量本身为int不能很好地保持一致。这里可能需要一个字节或短字节
另一种方法是使用@Type批注,可能与org.hibernate.type.ByteType一起使用,因为它似乎代表了TINYINT(指向javadoc的链接)。
我希望这有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句