Hibernate 动态模型
来源:互联网 发布:腾讯互娱php怎么样 编辑:程序博客网 时间:2024/05/23 05:09
今天无意间碰到了,hibernate的动态模型,于是 乎自己动手做了一个小实验,做了之后就明白了,不过的总的感觉来说,与cglib相似,但是有些不同的地方是,动态模型需要自己写一个配置文件,只是自己不写pojo而已,从个人观点上来讲,这样还是不能动态的构造出一个对象,并保存到数据库中,如果想要给表追加上一个字段,那么就还得把:
<!--<property name="hbm2ddl.auto">update</property>-->打开,这样与写一个pojo的差别不是很大。以下是自己做的一个小实验。
先写一个配置,然后放hibernate.cfg.xml中
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class table="MY_COMMENT_" entity-name="Users">
<id name="COMMENTS_ID" type="java.lang.Integer">
<generator class="identity"/>
</id>
<property name="REPLEIED" type="java.lang.String"/>
<property name="REPLY_TIME" type="java.lang.String"/>
<property name="REPLY_TIME_" type="java.lang.String"/>
</class>
</hibernate-mapping>
以下测试:
在这个里面可以自己在创建的时候自己修改hibernate对对象的模式
package lml.base.dynamic;
import java.util.HashMap;
import java.util.Map;
import lml.base.dao.BaseDAO;
import lml.base.dao.DaoFactory;
import org.hibernate.EntityMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
public class DynamicTest {
BaseDAO baseDAO = DaoFactory.getDao();
private static SessionFactory sf;
@BeforeClass
public static void beforClass(){
Configuration cg = new Configuration();
cg.configure();
// cg.setProperty(Environment.DEFAULT_ENTITY_MODE, EntityMode.MAP.toString());
sf = cg.buildSessionFactory();
}
@Test
@SuppressWarnings("unchecked")
public void testCreate() {
Map user = new HashMap();
user.put("REPLY_TIME", "zhongguosren+");
user.put("REPLEIED", "www.cqwu.net");
user.put("REPLY_TIME_", "www.cqwu.net");
Session session = sf.openSession();
session.beginTransaction();
session.save("Users", user);
session.getTransaction().commit();
}
@Test
@Ignore
public void testSearch() {
Session session = baseDAO.getSession();
Map user = (Map) session.load("Users", 1);
System.out.println(user.get("REPLEIED"));
session.close();
}
@Test
@Ignore
public void testUpdate(){
Session session = baseDAO.getSession();
session.beginTransaction();
Map user = (Map) session.load("Users", 1);
user.put("REPLEIED", "wan");
session.update("Users",user);
System.out.println(user.get("REPLEIED"));
session.getTransaction().commit();
session.close();
}
}
在这个地方,修改与不修改效果一样。
- Hibernate动态模型
- Hibernate 动态模型
- hibernate动态模型(Dynamic models)
- hibernate动态模型(Dynamic models)
- (异常)Hibernate的动态模型
- hibernate学习日志二:动态模型方法映射
- 利用hibernate的动态模型进行多表查询
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- 菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- 菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
- 动态模型
- 动态模型
- 静态模型,动态模型!
- hibernate动态模型在web中使用 与spring集成一起
- Hibernate之领域模型
- Hibernate领域模型
- 对象模型,动态模型,功能模型
- 在c语言环境下实现 C++中的getline函数 即在c语言中按行读取
- hadoop入门学习
- 我的时间管理——各种方法
- Windows 邮件槽(MailSlot)
- 《学习opencv》kalman.c详细注释
- Hibernate 动态模型
- iOS指南系列:如何解决奔溃问题-关于内存访问续
- gbk转换到utf8
- 一键设置java 环境变量
- 静态方法的多线程安全问题
- javascript操纵二进制流
- VC++下对匿名管道的编程实现
- camshiftdemo C注释
- libevent