- 浏览: 562926 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
目前负责中行风险管理系统的数据核对加工模块,业务以及逻辑都已经梳理好了,但是实施的时候遇到了点问题,hibernate注解配置问题。闲话不多说直接上正确的配置:
package com.ibm.banking.irmp.dataimport; import java.io.Serializable; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.Table; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import org.hibernate.annotations.NamedQueries; import org.hibernate.annotations.NamedQuery; import com.ibm.banking.framework.dto.BaseVO; @Entity @Table(name = "RI_NT_REGULAR_DEF") @NamedQueries({ @NamedQuery(name = "RegularTable.getAll", query = "select regularData from RegularData regularData order by regularData.id", readOnly = true, cacheable = true, cacheRegion = "RefBean") }) @Cache(usage = CacheConcurrencyStrategy.READ_ONLY, region = "RefBean") public class RegularData implements BaseVO, Serializable { /** * */ private static final long serialVersionUID = 5395568085328896385L; /** * @author xushigang */ private Long id; private String tableName; private List<RegularColMapping> mapping; public RegularData() { } public RegularData(Long tableId) { super(); this.id = tableId; } @Id @GeneratedValue public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTableName() { return tableName; } public void setTableName(String tableName) { this.tableName = tableName; } @OneToMany(cascade=CascadeType.ALL, orphanRemoval=true) @JoinColumn(name="table_id") public List<RegularColMapping> getMapping() { return mapping; } public void setMapping(List<RegularColMapping> mapping) { this.mapping = mapping; } }
package com.ibm.banking.irmp.dataimport; import java.io.Serializable; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import com.ibm.banking.framework.dto.BaseVO; @Entity @Table(name = "RI_NT_REGULAR_COL") @Cache(usage = CacheConcurrencyStrategy.READ_ONLY, region = "RefBean") public class RegularColMapping implements BaseVO, Serializable { /** * @author xushigang */ private static final long serialVersionUID = 1L; private Long id; private String regularName; private String description; private String regularType; private String columnName; private String sql; private String tag; private RegularData regularData; public RegularColMapping() {} public RegularColMapping(String columnName) { super(); this.columnName = columnName; } @Id @GeneratedValue public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getRegularName() { return regularName; } public void setRegularName(String regularName) { this.regularName = regularName; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getRegularType() { return regularType; } public void setRegularType(String regularType) { this.regularType = regularType; } public String getColumnName() { return columnName; } public void setColumnName(String columnName) { this.columnName = columnName; } public String getSql() { return sql; } public void setSql(String sql) { this.sql = sql; } public String getTag() { return tag; } public void setTag(String tag) { this.tag = tag; } @ManyToOne(cascade=CascadeType.ALL) @JoinColumn(name="table_id") public RegularData getRegularData() { return regularData; } public void setRegularData(RegularData regularData) { this.regularData = regularData; } }
@Test public void testRegular(){ //List<Object[]> o = session.createQuery(sql.toString()).list(); //StringBuffer sb = new StringBuffer(); //sb.append(Restrictions.in("tableId", new String[]{"1","2","3"})); //sb.append(Restrictions.ilike("mapping.regularName","aa", MatchMode.ANYWHERE)); //System.out.println(sb.toString()); //System.out.println(o.get(0)[0]); //System.out.println(o.get(0)[1]); //session.enableFilter("a"); Session session= dao.getSession(); //List<RegularData> rd = session.createQuery("from RegularData rd").list(); List<RegularColMapping> mapping = new ArrayList<RegularColMapping>(); RegularData tf = new RegularData(); tf.setTableName("RI_NT_SYS_FUNC"); RegularColMapping rc = new RegularColMapping(); rc.setColumnName("column_name"); rc.setSql("sql"); //rc.setRegularData(tf); mapping.add(rc); RegularColMapping rc1 = new RegularColMapping(); rc1.setColumnName("column_name"); rc1.setSql("sql"); //rc1.setRegularData(tf); mapping.add(rc1); tf.setMapping(mapping); session.save(tf); }
以上配置是正确的,多的一端会自动生成table_id 并且会自动插入数值。
按照常规的配置:
@OneToMany(cascade=CascadeType.ALL, orphanRemoval=true,mappedBy="regularData") public List<RegularColMapping> getMapping() { return mapping; }
这样的话table_id就会插入 null 需要手工 关联!!!
测试结果如下:
Hibernate: select hibernate_sequence.nextval from dual Hibernate: select hibernate_sequence.nextval from dual Hibernate: select hibernate_sequence.nextval from dual Hibernate: insert into ri_nt_regular_def (table_name, id) values (?, ?) Hibernate: insert into ri_nt_regular_col (column_name, description, table_id, regular_name, regular_type, sql, tag, id) values (?, ?, ?, ?, ?, ?, ?, ?) Hibernate: insert into ri_nt_regular_col (column_name, description, table_id, regular_name, regular_type, sql, tag, id) values (?, ?, ?, ?, ?, ?, ?, ?)
发表评论
-
spring mvc 乐观锁遇到的问题
2013-05-29 17:29 1955乐观锁问题:updateTime @version ... -
hibernate命名查询问题
2013-01-30 16:38 1281hibernate 注解 @OneToOne(fetc ... -
hibernate [Null value was assigned to a property of primitive type setter of sco
2012-12-25 19:51 1078今天开发时候 hibernate 查询报错,分析原因如下: ... -
hibernate4 注解配置失误导致生成的表关联关系不对
2012-12-18 19:52 1196最近做ibm 风险管理系统,配置hibernate 注解时候看 ... -
eclipse codestyle和formate
2011-12-26 11:20 1026北京都乐宝软件信息技术公司的代码风格 -
Common-logging 与 Log4j的结合使用
2011-12-25 15:58 1166转自:http://hi.baidu.com/suofang/ ... -
ssh整合(转)
2011-09-06 14:50 1244终于,终于将SSH整合成 ... -
hibernate一对多关系采用外键映射时使用inverse的几种情况
2011-06-20 09:05 851对hibernate关系的维护比较头疼,遂总结下做个备份。 ... -
hibernate 一对多one-to-many 单向 and 双向(many-to-one),inverse(反转)
2011-06-16 09:17 2184hibernate 一对多 单向 classes----&g ... -
mappedBy
2011-06-15 14:42 1695对于mappedBy的理解: a) 只有OneToOne, ...
相关推荐
Hibernate双向一对一关联映射(注解版)
hibernate双向一对多关联映射(注解版)
Hibernate关于注解的一对多,多对多,一对一案例。。。。
NULL 博文链接:https://dreamzhong.iteye.com/blog/1200915
多对多双向关联 <br>注意映射规则: <set name="roles" table="t_user_role"><br> <key column="userid"/><br> <many-to-many class="com.bjsxt.hibernate.Role" column="roleid"/> </set><br> table...
Hibernate一对多双向自身关联demo代码
Hibernate4.0注解配置详解,Hibernate4.0注解配置详解,Hibernate4.0注解配置详解
Hibernate 多对一外键单向关联 Hibernate 多对一连接表单向关联 Hibernate 多对多单向关联 Hibernate 一对一外键双向关联 Hibernate 一对一主键双向关联 Hibernate 一对一连接表双向关联 Hibernate 一对多外键双向...
hibernate外键实现一对一双向关联关系源码
hibernate关联映射注解多对多单向关联、
hibernate注解配置
hibernate3.2级联关系自身一对多双向关联,适合初学者熟悉hibernate框架。
Hibernate一对一,一对多,多对多实例
NULL 博文链接:https://paladin1988.iteye.com/blog/1657564
hibernate双向多对多关联映射(注解版)
NULL 博文链接:https://huihai.iteye.com/blog/901171
NULL 博文链接:https://profound-accumulation.iteye.com/blog/2243079
包含《多对多双向关联映射》《多对一单向关联映射》《多对一双向关联映射》《一对多单向关联映射》等文档,并有图解及例子,非常适合新手学习,尤其是刚刚接触hibernate,对映射关系不清楚的。。。。
hibernate双向一对多关联映射(XML)