我的数据库是Oracle,我的id列值是一个Oracle序列,这个序列由一个触发器执行,因此,在插入每一行之前,这个触发器使用这个序列来获取id值.所以我很困惑我应该在我的实体类中定义哪个id策略生成.
@GenericGenerator(name = "generator", strategy = "increment")
@Id
@GeneratedValue(generator = "generator")
Run Code Online (Sandbox Code Playgroud)
要么
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "idGenerator")
@SequenceGenerator(name="idGenerator", sequenceName="ID_SEQ")
Run Code Online (Sandbox Code Playgroud)
要么
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Run Code Online (Sandbox Code Playgroud)
真的很困惑,有人会对这个问题有所了解吗?请清楚解释..
服务接口:
public List<UserAccount> getUserAccounts();
public List<UserAccount> getUserAccounts(ResultsetOptions resultsetOptions, List<SortOption> sortOptions);
Run Code Online (Sandbox Code Playgroud)
服务实施:
public List<UserAccount> getUserAccounts() {
return getUserAccounts(null, null);
}
public List<UserAccount> getUserAccounts(ResultsetOptions resultsetOptions, List<SortOption> sortOptions) {
return getUserAccountDAO().getUserAccounts(resultsetOptions, sortOptions);
}
Run Code Online (Sandbox Code Playgroud)
如何使用easymock或任何其他可行的测试方法对此进行测试?示例代码将不胜感激.对于简单的模拟传递对象作为参数非常混乱.有人清楚地解释了测试服务层的最佳方法是什么?测试服务接口会被视为单元测试还是集成测试?
从客户端浏览器到Apache httpd webserver,通过TCP/IP(套接字)有一个明确定义的协议HTTP.我很难理解从Apache httpd webserver到Perl或PHP或CGI使用的通道/协议是什么?它是通过套接字或pipse或消息队列或信号进行进程间通信吗?有人能否了解幕后的真实情况?是否Apache httpd webserver执行另一个程序(Perl或PHP)并捕获输出然后将其重新发送到客户端浏览器?
CGI协议未指定Web服务器应如何与CGI程序通信.有两个主要的解决方案:
独立的CGI程序
Apache接收一个CGI请求,打开一个到外部程序的双向管道,向它发送CGI输入数据,并将程序的输出返回给客户端.作为一个单独的进程,程序可能会崩溃而不会关闭Web服务器.缺点是启动新流程的速度相对较慢.
内置CGI程序
该程序被重写为Apache模块,只有在Apache进程启动时才会产生启动成本.这比外部程序快得多,并且可以访问Apache的内部和其他模块.Apache中最流行的CGI模块是Perl(mod_perl)和PHP(mod_php)的解释器引擎.