我正在尝试使用Scalatest为我的Java应用程序编写一些测试代码.我想,由于Scala具有更可读的语法,因此可以获得更易读的测试代码.
到目前为止,这是我管理的:
package com.xyz
import org.scalatest.FlatSpec
import org.scalatest.matchers.ShouldMatchers
import com.xyz.SecurityService
import org.mockito.Mockito._
import org.scalatest.mock.MockitoSugar
import org.mockito.Matchers._
import javax.servlet.jsp.tagext.Tag
class CheckRoleTagSpec extends FlatSpec with ShouldMatchers with MockitoSugar {
behavior of "CheckRole tag"
it should "allow access when neither role nor root defined" in {
val securityServiceMock = mock[SecurityService]
val tag = new CheckRoleTag()
tag.setSecurityService(securityServiceMock)
tag.setGroup("group")
tag.setPortal("portal")
tag.setRoot(false)
tag.setRole(null)
tag.doStartTag should be(Tag.SKIP_BODY)
}
}
我对这段代码感到非常失望.实际上,我需要用Java编写它.请帮助我使它更像scala和功能.
我的包裹中有这个程序:
程序 pr_export_blob(
p_name IN VARCHAR2,
p_blob 在 BLOB 中,
p_part_size(数量);
我希望参数p_blob为 BLOB 或 CLOB。
当我使用 BLOB 参数调用此过程时,一切都很好。当我使用 CLOB 参数调用它时,出现编译错误:
PLS-00306:调用“pr_export_blob”时参数数量或类型错误
有没有办法编写一个过程,可以将这些类型中的任何一个作为参数?也许是某种超类?
我正在写一个像Java中的应用程序一样的"Total Commander".这里有非常明显的文件系统依赖.
我想对它进行单元测试.我为测试目的创建了目录结构,我将它保存在SVN存储库中的已知位置.到目前为止效果很好.
现在,我有一个应该忽略隐藏文件的方法.我怎么能这样做?我能以某种方式标记隐藏在SVN中的文件吗?
其他解决方案是在运行测试之前使其中一个文件隐藏在构建脚本中,但我担心这会将文件标记为已修改并始终显示在提交对话框中.
有什么建议?
我想使用TABLE_DATE_RANGE获取每日统计信息,如下所示:
Select count(*), tableName
FROM
(TABLE_DATE_RANGE(appengine_logs.appengine_googleapis_com_request_log_,
DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), CURRENT_TIMESTAMP()))
group by tableName
Run Code Online (Sandbox Code Playgroud)
使用TABLE_DATE_RANGE时有什么方法可以获取表名吗?
我想在Oracle 10g中创建一个等效的Java方法作为PL/SQL函数:
String myMethod(int par1, Map<String, Object> par2);
Run Code Online (Sandbox Code Playgroud)
是否可以将Map(或某些simillar结构)传递给Oracle PL/SQL函数?我必须能够以某种方式从Java调用此函数.
我有一个映射(只有重要的部分):
<class name="xyz.Role" table="ROLE" lazy="true">
<id name="id" type="java.lang.Integer">
<column name="ROLE_ID"/>
<generator class="increment"/>
</id>
<set name="assignments" lazy="true" table="PERSON_ROLE" cascade="delete"
inverse="true">
<key column="ROLE_ID" />
<many-to-many class="xyz.Person" column="PERSON_ID" />
</set>
</class>
和
<class name="xyz.Person" table="PERSON" lazy="true">
<id name="Id" type="java.lang.Integer">
<column name="TPP_ID"/>
<generator class="increment"/>
</id>
<set name="roles" lazy="true" table="PERSON_ROLE" cascade="save-update">
<key column="PERSON_ID" />
<many-to-many class="xyz.Role" column="ROLE_ID" />
</set>
</class>
使用此映射,当我删除角色时,也会删除具有此角色的人员.我想要实现的是删除Role时删除关联(PERSON_ROLE表中的行).有没有办法实现这个目标?
我在我的代码中有这个映射:
News.hbm.xml:
<class name="xyz.News" table="XYZ_NEWS">
<id name="id" column="NEWS_ID">
<generator class="native"/>
</id>
rest of mapping
</class>
我正在使用Oracle数据库.Hibernate文档告诉我:
native - 根据底层数据库的功能选择identity,sequence或hilo
这对Oracle意味着什么?
编辑: 我现在知道它使用序列.序列的名称是我感兴趣的.
这是我的情况:
我有两个实体,其中一对多关系映射为(仅给出相关部分):
<class name="xyz.Survey">
<list name="answers" inverse="true" lazy="true" fetch="select"
cascade="all-delete-orphan">
<key column="OPA_OP_ID" not-null="true" />
<list-index column="OPA_SORT_ORDER" />
<one-to-many class="xyz.Answer" />
</list>
</class>
<class name="xyz.Answer">
<many-to-one name="survey" class="xyz.Survey" fetch="select">
<column name="OPA_OP_ID" not-null="true" />
</many-to-one>
there is no mapping for column OPA_SORT_ORDER, I let Hibernate take care of that
</class>
我的问题是:我想对单个调查的答案执行HQL查询,我希望这些答案按OPA_SORT_ORDER排序.此查询不起作用:
select new AnswerDTO(a.id, a.answerText, 0) from Survey p join p.answers a where p.id = ?
在日志中,我可以看到此HQL生成的SQL查询中没有ORDER BY.我怎样才能做到这一点?我是否需要sortOrder向Answer实体添加属性?