如果你运行整个类的话,那么所有的@Test的方法都会执行。如果你在左侧项目目录里找到某一@Test方法运行的话,那么只会运行这个方法。
hibernate2.5是不用Configure创建对象的
使用hibernate的hql语句来查询
联合主键也是一样的,首先你要有一个联合主键的类,然后再配置映射文件中去配置联合主键,然后使用get,load去查询就可以了。具体操作方式可参考hibernateAPI中文版
这个要看你项目的实际需求了,如果你需要一个持久化对象(包含所有字段信息),并且当数据库记录不存在时,你希望程序返回null,而不是去处理异常,那么用get
已解决,要重写toString方法
一般不是通过主键查找的结果可能是一个集合。
例如:查询出 是否存在bm=01,lx=01的记录?
List list= session.createQuery("from A as a where a.bm=01 and a.lx=01").list();
应该是junit的错误吧,把详细的错误信息贴出来看看,另外你的test方法上边没有加 @Test注解
create是每次运行都会创建一个新的表,原来同名表将被覆盖,原始数据会丢失。因为要用到数据,所以改回update
修改后要执行session.update(),控制台会输出update语句的
添加注解@Test试一下
类.class
对象.getClass()
重写toString()
@Override
public String toString() {
return address+ ", phone=" + phone + ", postcode=" +postcode;
}
把这个放在Address类里
不调用,神仙也没办法啊。
是的 ,hibernate都封装好相关功能了
已解决,我忘记重写tostring方法了、、
我知道错误的意思,我想问的是为什么会出现这样的问题, 幸运的是我已经解决问题了
不允许修改,实际使用的谁会去改主键除非业务需要
但是效率很低下
一般都会用非业务字段(就是除了唯一标识符没什么实际作用,不像学号等有实际含义的数字)当主键
贴代码
区别就是load会报异常,get返回NULL
http://www.cnblogs.com/codeplus/archive/2011/08/02/2125546.html
http://www.iteye.com/problems/42293
你可以到这个链接看看,希望能帮助到你
无法解析从资源students.hbm.xml映射文件 即无法解析定义的Address类 你把class = "Address"改换成 class = "包名.Address"
每个表都有一个对应的类,处理方式和现在一样,只是多几个类
都会有的,多表映射很快就会有更新