
java
crazy_pan
我只是一个简单、专一的人!
展开
-
spring配置文件中ref 和idref标签
官方:idref元素用来将容器内其它bean的id传给 或 元素,同时提供错误验证功能。上述bean定义片段完全地等同于(在运行时)以下的片段 也是就是说idref我可以获取原创 2010-09-09 22:56:00 · 2363 阅读 · 0 评论 -
hibernate继承映射
<br />常用有三种<br />1、单表映射: 每棵继承树映射成一张表(使用较多,性能较好),关键在于使用鉴别器<discriminator column="xx" type="">,<br /> 每个子类对应有一个鉴别器值<br />2、具体表映射: 每个子类映射成一张表(结构清晰,但性能较低),这是继承关系表示为外键关联,父类一张表,<br /> 各个子类各有一张表,父类和子类映射自身属性,子类表中不会含有父类属性的字段,hibernate查询时使用连接查询<br />3、类表继承:原创 2010-10-26 00:16:00 · 880 阅读 · 0 评论 -
JPA的Basic注解
在默认的情况下,Entity中的属性加载方式都是即时加载(EAGER)的,当Entity对象实例化时,就加载了实体中相应的属性值。但对于一些特殊的属性,比如长文本型text、字节流型blob型的数据,在加载Entity时,这些属性对应的数据量比较大,有时创建实体时如果也加载的话,可能严重造成资源的占用。要想解决这些问题,此时就需要设置实体属性的加载方式为惰性加载(LAZY)。@Basic标记可以指定实体属性的加载方式,它的定义如下所示。@Target({METHOD, FIELD}) @Retention(转载 2010-10-21 23:15:00 · 13054 阅读 · 8 评论 -
禁止hibernate启动是自动生成CRUD语句和hibernate实现命名约定
hibernate在启动时默认生成该pojo的CRUD,但是,hibernate不知道有那些字段需要insert,那些需要update,所以,hibernate默认insert和update所有字段,包括insert null 和update没变的字段,这样的话,对于一个有几百个字段的表来说,当他只需要update一个字段时,hibernate的这种方式就显得相当傻X了,所以,在映射文件里的里有两个字段可以禁止这种情况发生,dynamic-insert和dynamic-update,当这两个属性为true时原创 2010-10-21 22:27:00 · 1103 阅读 · 0 评论 -
持久化类的属性及访问方法
持久化类的访问者有两个,一是JAVA应用程序,二是hibernate 写:Java应用程序通过setter设置持久化对象的属性,hibernate通过getter获取持久化对象的属性并生成相应的SQL语句对表格进行操作。 读:hibernate通过setter设置持久化对象的属性,Java应用程序通过getter获取持久化对象的属性。hibernate访问持久化类属性的策略 Hibernate通过name指定的值访问持久化对象。Hibernate通过name值,反射持久化原创 2010-10-20 23:59:00 · 1920 阅读 · 0 评论 -
hibernate 中class标签的entity-name属性
该属性标识该pojo的实体名,如果设置该属性,在save等操作是必须告诉hibernate该逻辑名称,当一个pojo映射多个表时,该属性就有很大作用,例如,一个User的pojo,如果分为两种不同的user,可能其中某写字段相同,某些又不相同,可以在hbm.xml中同一个pojo的java类两次映射,对应的entity-name属性不同即可,这样操作一个pojo时就可以分别操作不同的表,前提是操作该pojo时必须指定entity-name原创 2010-10-20 22:26:00 · 7555 阅读 · 0 评论 -
使用Hibernate EntityManager(摘自hibernate实战第二版)
Hibernate EntityManager是围绕提供JPA编程接口的Hibernate Core的一个包装,支持JPA实体实例的生命周期,并允许你用标准的Java Persistence查询语言编写查询。1、基本JPA配置(EntityManagerFactory--EMF配置)persistence.xml,该文件必须放在被部署的持久化单元的META-INF目录下,由于我这里建的是java project,所以我把META-INF目录放在bin目录下原创 2010-10-13 21:35:00 · 11890 阅读 · 0 评论 -
大幅优化MyEclipse的速度
1、去除不需要加载的模块一个系统20%的功能往往能够满足80%的需求,MyEclipse也不例外,我们在大多数时候只需要20%的系统功能,所以可以将一些不使用的模块禁止 加载启动。通过Windows - Preferences打开配置窗口,依次选择左侧的General - Startup and Shutdown,这个时候在右侧就显示出了Eclipse启动时加载的模块,可以根据自己的实际情况去除一些模块。 windows–>perferences–>general–>startup and shutdown转载 2010-10-13 21:08:00 · 870 阅读 · 0 评论 -
hibernate.hbm2ddl.auto 的设置
root jdbc:mysql://localhost:3306/myhibernate原创 2010-10-12 22:05:00 · 26208 阅读 · 4 评论 -
java.util.ConcurrentModificationException 解决办法
今天在项目的中有一个需求,需要在一个Set类型的集合中删除满足条件的对象,这时想当然地想到直接调用Set的remove(Object o)方法将指定的对象删除即可,测试代码: public class Test { public static void main(String[] args) { User user1 = new User(); user1.setId(1); user1.setName("zhangsan"); User u转载 2010-09-14 22:21:00 · 553 阅读 · 0 评论 -
spring中BeanFactory和ApplicationContext
<br />BeanFactory是Spring框架最核心的接口,它提供了高级IoC的配置机制。BeanFactory使管理不同类型的Java对象称为可能。<br />ApplicationContext建立在BeanFactory基础之上,提供更多面向应用的功能,它提供了国际化支持和框架事件体系,更易于创建实际应用。<br />我们一般称BeanFactory为IoC容器,而称ApplicationContext为应用上下文。但有时为了行为方便,我们也将ApplicationContext称为Spring原创 2010-09-09 22:58:00 · 624 阅读 · 0 评论 -
java中split方法陷阱
关于String里的split方法,昨天在使用时,使用"#*"来分割字符串"路径6#*路径6",期望的结果是分成一个长度为2的字符串数组,但是分割的实际结果是一个长度为7的字符串,翻查一文档,原来split里的参数是正则表达式,所以分割字符串里存在"*"就出问题了,这样的话,分割字符串就需要进行转义,"#//*",这样就对了原创 2011-06-30 08:52:00 · 615 阅读 · 0 评论