Maven
安装
http://maven.apache.org/download.cgi
下载apache-maven-3.3.9-bin.zip
直接解压缩
配置环境变量
用户变量
M2_HOME D:\apache-maven-3.3.9
PATH D:\apache-maven-3.3.9\bin
cmd界面操控
检查mvn成功 mvn -v
生成普通java项目
mvn archetype:generate -DgroupId=com.kygo -DartifactId=hibdemo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
阿里
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
Hibernate第002天
hibernate创建实体类
1.类型使用对象
2.必须要保留无参构造
3.不加final - 不能代理 1.实现接口 2.用字节码在内存生成对象实现代理
4.实现可序列化接口
注解
主键映射 @Embeddable @Embedded
可以把一个对象作为另一个对象的属性
主键和自动增长
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
多对一 级联操作
@ManyToOne(cascade = CascadeType.ALL)
如: 存IdCard要先存User 如果只写存IdCard需要加 casacad 级联存User
一对一 一方必须是用@ManyToOne 用unique=ture来限定
添加外键约束
@JoinColumn(name = "userid")
双向关联必须
@OneToMany(mappedBy = "user")
fetch 抓取策略
fetch=FetchType.LAZY
不在数据库
@Transient
ShemaExport-数据库建表
// 通过ShemaExport工具类实现自动导出表
SchemaExport se = new SchemaExport();
// 创建一个标准服务注册器对象(建造者模式)
StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
try {
// 创建元数据对象(包含了hibernate的配置信息)
Metadata metadata = new MetadataSources(registry).buildMetadata();
// 通过映射实现在数据库中建表的操作
se.create(EnumSet.of(TargetType.DATABASE), metadata);
} finally {
// 销毁注册器对象
StandardServiceRegistryBuilder.destroy(registry);
}
元数据对象也可以创建会话工厂,得到session对象
metadata.getSessionFactoryBuilder().build().getCurrentSession();
网友评论