Her*_*rry 5 java mysql hibernate
我在使用 Hibernate 在 MySQL 数据库中创建tinyint 字段时遇到问题。
我曾经这样编写实体类
@实体
@Table(名称=“表名”)
公共类 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;
}
Run Code Online (Sandbox Code Playgroud)
}
当我检查 MySQL 时, id 字段总是以 Integer(11) 结尾,如何将其设置为 TinyInt ?
任何答案将不胜感激
我认为有几种方法可以做到这一点。第一种是使用 @Column 注释上的 columnDefinition 属性来读取如下内容:
@Column(name = "id", columnDefinition = "TINYINT")
Run Code Online (Sandbox Code Playgroud)
这不能跨数据库移植,并且与变量本身是 int 的情况不太相符。这里可能需要一个字节或短字节
另一种方法是使用 @Type 注释,可能与 org.hibernate.type.ByteType 一起使用,因为它似乎表示 TINYINT (链接到 javadoc)。
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
12884 次 |
| 最近记录: |