posts - 167,  comments - 30,  trackbacks - 0
blogjava网站与博客园合并了,对blogjava还是有感情的。
并且blogjava网站发布的文章是在博客园首页看不到的。
blogjava网站首页能看到,你可以点击标题进入可以看到图片二维码信息。

Java爱好者社区
公众号内容简介:

专注于分享Java后端相关技术、老司机实战干货,不限于JVM、并发、设计模式、性能优化、分布式&微服务、云原生、大数据相关主题。
希望关注的你停下脚步,定有所收获。

以前的个人博客内容不好迁移,所以我打算根据自己的多年经验,不断整理输出有价值的内容。
目前公众号内容有关于SpringCloud(微服务框架)、Skywalking(APM监控调用链)、JVM(GC分析、内存泄漏分析)、并发编程相关原创实战文章已出炉。

最近刚开始已经有不少小伙伴关注了,期待能有幸搜索到本博客的同学,可以扫码关注一下,不胜感激。
大家有任何技术、职场、面试上的问题都可以与我交流。

方式一:扫码以下公众号二维码:


方式二:在微信上直接搜索: javatech_cbo

感谢各位小伙伴的支持,后续会在该公众号上输出大量的有价值的实战干货 ,期待与你一同进步与成长。

posted @ 2019-10-30 14:10 David1228 阅读(265) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2017-09-04 16:33 David1228 阅读(137) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2017-08-02 11:41 David1228 阅读(123) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2017-07-24 19:10 David1228 阅读(5932) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2017-07-19 18:10 David1228 阅读(2440) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2017-06-06 23:10 David1228 阅读(130) | 评论 (0)编辑 收藏
Netty客户端与服务端通信
posted @ 2017-06-06 23:09 David1228 阅读(99) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2017-05-30 19:26 David1228 阅读(1124) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2017-05-30 19:25 David1228 阅读(1073) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2016-12-22 23:01 David1228 阅读(3174) | 评论 (2)编辑 收藏
     摘要:   阅读全文
posted @ 2016-11-04 23:44 David1228 阅读(2092) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2016-07-28 17:57 David1228 阅读(235) | 评论 (0)编辑 收藏
     摘要: JVM调优总结 + jstat 分析jstat -gccause pid 1 每格1毫秒输出结果jstat -gccause pid 2000 每格2秒输出结果不断的在屏幕打印出结果  S0     S1     E     &n...  阅读全文
posted @ 2016-01-03 23:26 David1228 阅读(2496) | 评论 (2)编辑 收藏
     摘要:   阅读全文
posted @ 2015-12-27 16:49 David1228 阅读(714) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2015-10-31 12:37 David1228 阅读(482) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2015-10-30 20:20 David1228 阅读(2560) | 评论 (0)编辑 收藏
转载文章:http://www.qixing318.com/article/by-lua-adhesive-nginx-ecological-environment.html
posted @ 2015-09-08 13:22 David1228 阅读(374) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2015-09-08 09:34 David1228| 编辑 收藏
     摘要:   阅读全文
posted @ 2015-07-29 13:48 David1228 阅读(5369) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2014-12-03 23:56 David1228 阅读(25810) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2013-11-19 11:48 David1228 阅读(23226) | 评论 (1)编辑 收藏
     摘要:   阅读全文
posted @ 2013-11-18 18:01 David1228 阅读(2744) | 评论 (4)编辑 收藏
     摘要:   阅读全文
posted @ 2013-10-31 17:32 David1228 阅读(563) | 评论 (0)编辑 收藏
     摘要:   阅读全文
posted @ 2013-10-14 09:50 David1228 阅读(20520) | 评论 (6)编辑 收藏
Hibernate不支持left join带on的条件查询。
解决办法:使用原生SQL或者使用HQL方式需要修改hbm文件(如果项目中大部分不适用级联配置情况下)
需求是查询网络信息,网络信息中关联了分区、网络IP(1个网络--N个网络IP),网桥信息.
HQL:
public void queryVnets(Page page) {
        StringBuffer hql = new StringBuffer();
        hql.append("select new Map(vn.id as id, vn.vnName as vnName, b.name as vnType, ");
        hql.append("vn.vnIptype as vnIptype, vn.vnIp as vnIp,vn.vnNat as vnNat, vn.vnFlag as vnFlag, ");
        hql.append("vn.vnetFlag as vnetFlag, (case when sum(vmvn.state)='0' then 0 else 1 endas vnState, ");
        hql.append("vn.useType as useType, vn.createTime as createTime, ");
        hql .append("zone.oneName as oneName, zone.oneHypervisor as oneHypervisor, zone.oneSeq as oneSeq) ");
        hql.append("from VnetTable vn, ZoneTable zone, BridgeTable b ");
        hql.append("left join fetch vn.VnTables vmvn where zone.id = vn.zoneId and vn.vnType = b.id ");

        ... ...
        hql.append(" group by vn.id");
        if (vnState != null && !"".equals(vnState)) {
            if ("0".equals(vnState)) {
                hql.append(" having sum(vmvn.state)=0");
            } else if ("1".equals(vnState)) {
                hql.append(" having sum(vmvn.state)!=0");
            }
        }
    }

hbm配置文件:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.base.mapping.VnetTable" table="vnet_table" >
        <id name="id" type="java.lang.String">
            <column name="ID" length="32" />
            <generator class="uuid.hex" />
        </id>
        <property name="vnId" type="java.lang.Long">
            <column name="VN_ID">
                <comment>创建虚拟网络时得到的ID</comment>
            </column>
        </property>
         ...
        <property name="zoneId" type="java.lang.String">
            <column name="ZONE_ID" length="32">
                <comment>分区ID</comment>
            </column>
        </property>
        <property name="vlanId" type="java.lang.Integer">
            <column name="VLAN_ID">
                <comment>VLAN_ID</comment>
            </column>
        </property>
        <set name="vnTables" lazy="false" order-by="id asc" inverse="false" fetch="join" cascade="all">
            <key column="VN_NID"/>
            <one-to-many class="com.base.mapping.VnTable"/>
        </set>
    </class>
</hibernate-mapping>

理解inverse和cascade,可以参考:http://blog.csdn.net/wkcgy/article/details/6271321
总结: 
<one-to-many>中,建议inverse=”true”,由“many”方来进行关联关系的维护 
<many-to-many>中,只设置其中一方inverse=”false”,或双方都不设置 
Cascade,通常情况下都不会使用。特别是删除,一定要慎重。
操作建议 
  一般对many-to-one和many-to-many不设置级联,这要看业务逻辑的需要;对one-to-one和one-to-many设置级联。
  many-to-many关联关系中,一端设置inverse=”false”,另一端设置为inverse=”true”。在one-to-many关联关系中,设置inverse=”true”,由多端来维护关系表










posted @ 2013-09-12 11:57 David1228 阅读(13052) | 评论 (2)编辑 收藏

<2013年9月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

常用链接

留言簿(3)

随笔分类

随笔档案

文章档案

新闻分类

新闻档案

相册

收藏夹

Java

Linux知识相关

Spring相关

云计算/Linux/虚拟化技术/

友情博客

多线程并发编程

开源技术

持久层技术相关

搜索

  •  

积分与排名

  • 积分 - 308427
  • 排名 - 161

最新评论

阅读排行榜

评论排行榜