两个类如下:
public class Item implements java.io.Serializable {
// Fields
private Long iid;
private Template template;
private Long showOrder;
................................
}
public class Template implements java.io.Serializable {
// Fields
private Long tid;
private String name;
private String gtype;
private Date createTime;
private List items = new ArrayList();
..................................
}
配置文件如下:
<hibernate-mapping>
<class name="Item" table="ITEM" >
<id name="iid" type="java.lang.Long">
<column name="IID" precision="22" scale="0" />
<generator class="increment" />
</id>
<many-to-one name="template" class="Template" fetch="select">
<column name="TID" precision="22" scale="0" />
</many-to-one>
<property name="showOrder" type="java.lang.Long">
<column name="SHOW_ORDER" precision="22" scale="0" not-null="true" />
</property>
</class>
</hibernate-mapping>
<hibernate-mapping>
<class name="Template" table="TEMPLATE">
<id name="tid" type="java.lang.Long">
<column name="TID" precision="22" scale="0" />
<generator class="increment" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="100" not-null="true" />
</property>
<property name="gtype" type="java.lang.String">
<column name="GTYPE" length="1" not-null="true" />
</property>
<property name="createTime" type="java.util.Date">
<column name="CREATE_TIME" length="7" />
</property>
<list name="items" inverse="true" cascade="all">
<key>
<column name="TID" precision="22" scale="0" not-null="true"/>
</key>
<list-index column="SHOW_ORDER"></list-index>
<one-to-many class="Item" />
</list>
</class>
</hibernate-mapping>
Template取得items属性时,list里会包含null值,不知道什么原因
分享到:
相关推荐
NULL 博文链接:https://lijunabc.iteye.com/blog/443305
当删除对象时, Hibernate必须使用每一个字段的值来确定一条记录(在组合元素表中,没有单独的关键字段), 如果有为null的字段,这样做就不可能了。你必须作出一个选择,要么在组合元素中使用不能为空的属性,要么...
当应用程序调用Session的save()、update()、savaeOrUpdate()、get()或load(),以及调用查询接口的list()、iterate()或filter()方法时,如果在Session缓存中还不存在相应的对象,Hibernate就会把该对象加入到第一级...
Hibernate中的query 博客分类: • Hibernate HibernateSQLSQL ServerMySQLJDBC Hibernate中的query.setFirstResult(),query.setMaxResults(); 一、query.scroll()和query.setFirstResult(),query....
//该方法会立即加载/获取数据(只要调用该方法就会立即向数据库发出查询语句),该方法只在内部缓存查找数据,如果内部缓存中没有数据就直接去数据库查询,当数据库中没有要查询的数据时返回null (6).load(Class ...
NULL 博文链接:https://jackroomage.iteye.com/blog/1879354
18.1.1 默认情况下关联级别的运行时检索策略 18.1.2 迫切左外连接 18.1.3 左外连接 18.1.4 内连接 18.1.5 迫切内连接 18.1.6 隐式内连接 18.1.7 右外连接 18.1.8 使用SQL风格的交叉连接和隐式内连接...
对于继承层次结构中的每个类, @DiscriminatorValue 注解指定了用来辨别该类的值。 辨别符列名字默认为 DTYPE,其默认值为实体名。其类型为DiscriminatorType.STRING。 连接的子类 @Entity @Inheritance(strategy=...
NULL 博文链接:https://811417208-qq-com.iteye.com/blog/506950
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
代码如下:Usertable user=null; Session session=HibernateSessionFactory.getSession(); String sql=”from Usertable as user where user.username=?”; Query q=session.createQuery(sql); q.setString(0,...
NULL 博文链接:https://364232252.iteye.com/blog/2369137
18.1.1 默认情况下关联级别的运行时检索策略 18.1.2 迫切左外连接 18.1.3 左外连接 18.1.4 内连接 18.1.5 迫切内连接 18.1.6 隐式内连接 18.1.7 右外连接 18.1.8 使用SQL风格的交叉连接和隐式内连接...
18.1.1 默认情况下关联级别的运行时检索策略 18.1.2 迫切左外连接 18.1.3 左外连接 18.1.4 内连接 18.1.5 迫切内连接 18.1.6 隐式内连接 18.1.7 右外连接 18.1.8 使用SQL风格的交叉连接和隐式内连接...
fls.add(new QCls(null, null, null, " order by " + pxfield + " " + px)); Map m = s.getQueryList(new String[] { "from T_TDD", "select count(*) from T_TDD" }, fls, cpage, pnum); List tddls = (List) m....
18.1.1 默认情况下关联级别的运行时检索策略 18.1.2 迫切左外连接 18.1.3 左外连接 18.1.4 内连接 18.1.5 迫切内连接 18.1.6 隐式内连接 18.1.7 右外连接 18.1.8 使用SQL风格的交叉连接和隐式内连接...
数据库设计:库mydb 表events <br>EVENT_ID BIGINT(20) NOT NULL AUTOINC EVENT_DATE DATETIME NULL title VARCHAR(255) NULL <br> <br>2. 注意文件的位置 <br>3. tomcat中配jdbc就不用说了, ...
94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,F) 22 96、Hibernate工作原理及为什么要用? 22 97、...
many-to-one:标签中对于cascade的取值delete,delete-orphan,all-delete-orphan(只用unique属性值不为true不能出现)慎用 cascade:级联属性 none:不做任何级联操作 save-update:对当前对象执行save,update, ...