刚做了如下实验
实验1:
新建people类,并用hibernate生成表
@Entity
public class People {
@Id
@GeneratedValue
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
在数据库中将name字段的长度改为3再向数据库中插入一条记录
public class Test {
public static void main(String[] args) {
Configuration cfg = new AnnotationConfiguration().configure();
// new SchemaExport(cfg).create(false, true);
People p=new People();
p.setName("fhqiwcw");
HibernateUtil helper=new HibernateUtil();
Session session=helper.getSession();
session.beginTransaction();
session.save(p);
session.getTransaction().commit();
}
}
提示:
Data truncation: Data too long for column 'name' at row 1
这次在程序中注解将name的长度设为3,数据库中的设为255
@Entity
public class People {
@Id
@GeneratedValue
private int id;
Column(length = 3)//在这里将长度设为3
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
正常执行,查看数据库记录已经添加成功。
由此看来@column的注解只是在建表的时候起作用
所以以后在做项目的时候可可以不用@Column注解字符长度或者是not null,这些在用hibernate生成表后直接在数据中改方便很多(当然也可以先有表再写hibernate)
分享到:
相关推荐
(1)在config中找到db.properties:连接自己的mysql (2)在连接到的mysql中建一个数据库(database):(defaultName:mvcdemo) (3)运行本项目 (4)页面输入 http://localhost:8080//mvcfour/index.html (注意浏览器支持...
JPA注解创建数据库表 和hibernate.cfg.xml 建表
hibernate@注解方式配置实体类时,利用javadoc接口生成数据库表及字段的注释说明,支持oracle、sqlserver、db2、mysql数据库。因用到java\lib\tools.jar,需要将该jar放入工程lib下(或者tomcat\lib下、或加入...
NULL 博文链接:https://xiaojianhx.iteye.com/blog/1744681
兼容hibernate @Table、@Column、@Id、@Transient注解 兼容hibernate @GeneratedValue注解设置自增 兼容swagger @ApiModel、@ApiModelProperty注解设置(表、字段)备注 字段上没有任何注解,支持属性名转数据库列名...
每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明。 声明实体Bean @Entity public class Flight implements Serializable { Long id; @Id public Long getId() { return id;...
该属性只可能在双向关联中使用。 使用了该属性,将不能再使用@JoinColumn注解。因为@JoinColumn注解表示其所注解的属性将来通过set方法设值后,会与DB中哪个字段相关联。 mappedBy属性表示当前注解的关联属性...
hibernate注解解析
注释说明: @Entity —— 将一个类声明为一个实体bean(即一个持久化POJO类) ...@Column —— 注解声明了属性到列的映射。该注解有如下的属性 name 可选,列名(默认值是属性名) 在此仅显示部分,需要的可以在下查看
针对hibernate关系映射进行了一个总结,包含xml配置形式和@注解配置形式,one-to-many,one-to-noe,many-to-one,many-to-many等单方向的配置和双方都配置的事例
在 Java 中,处理 Blob 类型需要使用 @Column 和 @Type 注解来指定该字段为大规模二进制数据类型。例如: ``` @Column(name = "te1", columnDefinition = "BLOB",nullable=true) @Type(type="org.springframework....
用hibernate3.5 xml文件映射,junit实现多对多自动建表,下载后解压用myeclipse导入,这里要注意:需要junit的包。这个是学hibernate的关键,建议新手作为重点,大虾就请多多指教了
Struts2 Spring3.0 Hibernate3.3 整合全注解配置用的数据库。
Hibernate曾删改查接口实现,拿过来就可以直接用。
Hibernate注解详解(超全面不解释).pdf
NULL 博文链接:https://zhaoshijie.iteye.com/blog/998230
要学习hibernate注解和spring注解的,可以下载, 该工程包括了hibernate注解和spring注解做的登录例子
* @Column —— 注解声明了属性到列的映射。该注解有如下的属性 * name 可选,列名(默认值是属性名) * unique 可选,是否在该列上设置唯一约束(默认值false) * nullable 可选,是否设置该列的值可以为空(默认值...
ssh框架构建 hibernate spring都使用注解
使用hibernate注解,必须要使用库hibernate-commons-annotations,hibernate-core,hibernate-jpa,ejb3-persistence,javassist等