摘要:
JTA与JDBC JTA事务比JDBC事务更强大。一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接。下列任一个Java平台的组件都可以参与到一个JTA事务中:JDBC连接、JDO PersistenceManager 对象、JMS 队列、JMS 主题、企业JavaBeans(EJB)、一个用J2EE Connector Architecture 规范编译的资源分配... 阅读全文
摘要:
1. HibernateAPI文档需要单独下载2. ConfigurationA) AnnotationConfigurationB) 进行配置信息的管理C) 用来产生SessionFactory:维护数据库连接池D) 只需关注一个方法即:buildSessionFactory()E) 可以在configure()方法中设置hibernate配置文件。3. SessionFactoryA) 用来产生和管理SessionB) 通常情况下每个应用只需要一个SessionFactoryC) 除非要访问多个数据库的情况D) 关注两个方法即:openSession:创建一个新的session getCu 阅读全文
摘要:
3种联合主键方法:Annotationi. @Embeddble @Idii. @EmbeddedID(*)iii. @ Id @IdClass(*)第一种@Embeddble @Id主键类:TeacherPk类中包含联合主键id,name.这个类必须实行implements Serializable。import javax.persistence.Embeddable;@Embeddable public class TeacherPk implements Serializable{ private String name; private int id; public... 阅读全文
摘要:
在@id下面,使用mysql使用:@GeneratedValue(strategy = GenerationType.IDENTITY)数据库自动选择:@GeneratedValue(strategy = GenerationType.AUTO)如果使用Table_Generator则可以跨数据库平台。hibernate建立一个表为多个表提供主键值,这个主键值是integer类型的。它的用法是在实体bean前面定义表的名字,列名,以及记录值。用法,参照马士兵的视频截图如下:@javax.persistence.TableGenerator( name="生成器名", tab 阅读全文
摘要:
主键值在向数据库中插入的时候,一般不需要从用户那里获得,所以它一般只是标示记录的一个无意义的字段。在向数据库中插入的时候,让数据库自动生成。mysql的自动生成类型为auto_increment,oralce使用sequence。 如果让hibernate自动建表,那么需要设置ID的产生器,以此来得到不同数据库平台的自动生成值得列类型。比如mysql,oracle。还可以通过算法计算,来自动确定数... 阅读全文
摘要:
enum类型的属性会默认映射为Integer列类型,值自然就是整数。而数据库中不需要存储整数,需要存储字符串的值。比如Color.GREEN在数据库中存储的值是green,而不是定义枚举时,这个元素的序号. hibernate使用 @Enumerated(value=EnumType.STRING)来完成上述功能。这时,对应的列类型就是varchar了。如果使用@Enumerated(value... 阅读全文
摘要:
在数据库中,表示时间类型的数据有DATE, TIME, 和 TIMESTAMP三种精度(即单纯的日期,时间,或者两者兼备). 可使用@Temporal注解来调整精度.java里面的时间类型为java.util.Date。这个类在hibernate默认转换时,转换为数据库中的timestamp类型。通过@Temporal(TemporalType.DATE/Temporal.TIME/Temporal.TIMESTAMP)来设置数据库中的列具体是什么时间类型的。@Temporal(value = TemporalType.DATE) 阅读全文
摘要:
基本的映射annotation配置 阅读全文
摘要:
hbm2ddl.auto自动实现ddl 阅读全文
摘要:
annotation入门 阅读全文