Hibernate的一些操作

自动创建数据库表结构

<hibernate-configuration>
   <session-factory>       
      <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
     //validate 只做校验
     //update 更新表结构
     //create-drop 根据实体改变表结构
     <property name="hibernate.hbm2ddl.auto">create-drop</property>
      ...
      <!-- Persistent classes -->
      <mapping class="com.mycompany.myapp.domain.Client"/>
      <mapping class="com.mycompany.myapp.domain.Order"/>
      ...
   </session-factory>   
</hibernate-configuration>

Annotation

@Id //声明属性为主键
@GeneratedValue //表示主键是自动生成策略,一般该注释和 @Id 一起使用
@Entity //任何 hibernte 映射对象都要有此注释
@Table(name = “tablename”) //类声明此对象映射到哪个表
@Column(name=“Name”, nullable=false, length=32) //声明数据 库字段和类属性对应关系

@OneToMany(mappedBy=”order”,cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@OrderBy(value = " id ASC" )

//一对多声明,和 ORM 产品声明类似,一看就明白了。
@ManyToOne(cascade=CascadeType.REFRESH,optional=false)
@JoinColumn(name = " order_id" )

@Temporal(value=TemporalType.DATE) 做日期类型转换。

@OneToOne(optional= true,cascade = CascadeType.ALL, mappedBy = " person" )
//一对一关联声明
@OneToOne(optional = false, cascade = CascadeType.REFRESH)
@JoinColumn(name = "Person_ID" , referencedColumnName = " personid" ,unique = true)
原文地址:https://www.cnblogs.com/timjames/p/8268102.html