小编Sha*_*haw的帖子

每个开发人员必须知道的设计模式?

每个开发人员必须知道的设计模式是什么?

我对使用Spring和Hibernate的Java Web开发人员的上下文感兴趣.我经常听说,设计模式方面的良好知识对于使用这些框架至关重要.任何人都可以列出具体细节吗?

例如,我知道理解抽象工厂和工厂模式,单例模式等是绝对必要的.我正在寻找一份全面的清单.

java spring design-patterns hibernate

28
推荐指数
3
解决办法
1万
查看次数

为什么建议避免外键上的单向一对多关联?

可能重复:
Hibernate单向一对多关联 - 为什么连接表更好?

在Hibernate在线文档中,在第7.2.3节"一对多"中,提到了:

外键上的单向一对多关联是一种不常见的情况,不建议这样做.您应该使用连接表进行此类关联.

我想知道为什么?我唯一想到的是,它可以在级联删除期间产生问题.例如,Person指的是外键上一对多关系的地址,该地址将拒绝在该人之前删除.

任何人都可以解释推荐背后的理性吗?

以下是参考文件内容的链接:7.2.3.一到多

我在这里复制粘贴了实际内容:

外键上的单向一对多关联是一种不寻常的情况,不建议这样做.

<class name="Person">
    <id name="id" column="personId">
        <generator class="native"/>
    </id>
    <set name="addresses">
        <key column="personId" 
            not-null="true"/>
        <one-to-many class="Address"/>
    </set>
</class>

<class name="Address">
    <id name="id" column="addressId">
        <generator class="native"/>
    </id>
</class>
Run Code Online (Sandbox Code Playgroud)
create table Person (personId bigint not null primary key)
create table Address (addressId bigint not null primary key, personId bigint not null)
Run Code Online (Sandbox Code Playgroud)

您应该使用连接表进行此类关联.

java sql rdbms hibernate

17
推荐指数
1
解决办法
1万
查看次数

编程到接口.如何确定需要的地方?

我知道对接口进行编程有助于松散耦合.但是,是否有一个解释何时最有效的指南?

例如,我有一个简单的Web应用程序,它收集员工的数据,他们的培训计划,费用和计算他们一年的费用等.这是一个相当简单的应用程序,我当然可以使用一个界面,但想知道是否会有任何使用.我将使用它为了使用它.

始终可以认为,随着应用程序的复杂性增加而我传递对象,传递类型(接口)比实现更有意义.那么,我应该等待应用程序变得复杂或立即使用它吗?我想知道最好的做法可能会变成"这家伙过度做事".

.net c# interface

10
推荐指数
2
解决办法
729
查看次数

JDBC DAO - 任何好的参考实现?

任何人都可以指出我使用JDBC编写的DAO,它涵盖了DAO应该处理的所有异常.

我在java.sun.com看了一些样本,他们的蓝图,但是有很多理论和更少的代码.

浏览Spring DAO源代码将具有启发性,但这对我来说太复杂了.

java dao jdbc

5
推荐指数
2
解决办法
8779
查看次数

DB2的数据模型工具

我在DB2中创建了一个数据库,并在表中创建了关系.我想基于DB2中的数据库设计创建一个ER图.MS SQL有一个从DB模式创建ER图的工具,但DB2似乎没有,至少据我所知.

任何人都知道DB2本身的任何开源工具/工具吗?

database db2 database-design erd data-modeling

5
推荐指数
1
解决办法
1万
查看次数

.NET中每个SQL语句的SQL存储过程?

对.NET应用程序中的每个SQL调用使用存储过程是最佳做法吗?

是否出于性能原因鼓励并减少SQL注入攻击的表面区域(在Web应用程序中)?

database asp.net stored-procedures

3
推荐指数
1
解决办法
425
查看次数

从哪里开始以及如何参与.NET社区?

我是.NET的新手,我想参与.NET社区来发展我的技能(自私,我知道),贡献一些东西(不那么自私)我认为成为一个社区的一部分真的很好.

我可以开一个博客,但考虑到我是初学者,我不可能发布任何有价值的东西.开源项目怎么样?有办法参加吗?我检查了codeplex,在sourceforge中没有像"Help Wanted"这样的东西,所以我不知道从哪里开始.我认为一些开源项目也可以接受初学者.

有任何想法吗?

.net open-source

2
推荐指数
1
解决办法
289
查看次数

Spring MVC和带注释的控制器问题:

我有一个带注释的控制器和Spring MVC的奇怪问题.我试图使用Annotated控制器为Spring提供的示例MVC应用程序及其文档.我用了2.5版.

当我在类型级别指定@RequestMapping时,我得到"HTTP错误:500没有适用于处理程序的适配器[控制器类名]:您的处理程序是否实现了像Controller这样的支持接口?

如果我将它包含在方法级别中,它可以解决问题.向上下文文件添加或删除默认句柄适配器没有区别:

最后,我使用了控制器级别的@RequestMapping,以及方法级别的一个,并且它有效.任何人都知道可能是什么问题?

以下是示例代码:

这不起作用:

@Controller
@RequestMapping("/*")
public class InventoryController {
    protected final Log logger = LogFactory.getLog(getClass());

    @Autowired
    private ProductManager productManager;


    public ModelAndView inventoryHandler() {
        String now = (new java.util.Date()).toString();
        logger.info("returning hello view with " + now);
        Map<String, Object> myModel = new HashMap<String, Object>();
        myModel.put("now", now);
        myModel.put("products", this.productManager.getProducts());
        return new ModelAndView("hello", "model", myModel);
    }
}
Run Code Online (Sandbox Code Playgroud)

这有效:

@Controller

public class InventoryController {
    protected final Log logger = LogFactory.getLog(getClass());

    @Autowired
    private ProductManager productManager;

    @RequestMapping("/hello.htm")
    public ModelAndView inventoryHandler() {
        String now …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc

1
推荐指数
1
解决办法
7298
查看次数

一些开发人员如何从一个平台转移到另一个平

我注意到一些开发人员学习新技能并从一个平台转移到另一个平台?他们是如何做到的呢?他们如何证明在他们得到这份工作的平台上缺乏经验?

它是否基于与以往经验的相关性?他们是否获得了目标平台的认证,并在接受减薪的初级阶段工作?如果你正在签订合同/咨询,这会更简单吗?或者仅仅是正确投影简历的问题?

platform

0
推荐指数
1
解决办法
309
查看次数

有没有人在这里使用Struts 1进行新项目?

我有一个场景,客户要求在struts 1上开发一个新项目.看起来他们有很多应用程序在Struts 1上运行,内部IT团队对此很满意.

对于数据访问,我们被要求编写JDBC,没有ORM,甚至不是Spring DAO.他们开发了一个框架,我们被要求使用它.

我想知道这里是否有人遇到类似情况,并设法说服客户使用更新的框架.

struts perception

0
推荐指数
1
解决办法
778
查看次数