我有一些看起来像这样的类:
模型
public abstract class BaseEntity<O extends Object> { ... }
public class Person extends BaseEntity<Person> { ... }
Run Code Online (Sandbox Code Playgroud)
命令
public abstract class BaseCommand<BE extends BaseEntity<BE>> { ... }
public class PersonCommand extends BaseCommand<Person> { ... }
Run Code Online (Sandbox Code Playgroud)
服务
public interface BaseService<BE extends BaseEntity<BE>> {
public BE create(BaseCommand<BE> command);
}
public interface PersonService extends BaseService<Person> { ... }
Run Code Online (Sandbox Code Playgroud)
服务进展
public abstract class BaseServiceImpl<BE extends BaseEntity<BE>> implements BaseService<BE> { }
public class PersonServiceImpl extends BaseServiceImpl<Person> implements PersonService {
public Person create(PersonCommand personCommand) …Run Code Online (Sandbox Code Playgroud) 我的数据库中有3个表.
现在,我有以下查询.
更新 - 我更新了子查询,使其更像我的实际代码.对c2有一个额外的限制,保证START_DATE是一个有效的日期.
SELECT *
FROM PARENT_B pb
LEFT OUTER JOIN CHILD c1 ON c1.PARENT_B_ID = pb.ID
WHERE pb.ID IN
(
SELECT c2.PARENT_B_ID
FROM PARENT_A pa
LEFT OUTER JOIN CHILD c2 ON c2.PARENT_A_ID = pa.ID
WHERE TO_DATE(c2.START_DATE, 'mm/dd/yyyy') BETWEEN
ADD_MONTHS(TRUNC(SYSDATE, 'MONTH'), -12) AND
(TRUNC(SYSDATE, 'MONTH') - 1)
AND c2.HAS_VALID_DATE = 1
);
Run Code Online (Sandbox Code Playgroud)
此查询失败.我得到一个ORA-01843: not a valid month例外.但是,如果我删除第一个连接(查询的第3行),查询运行正常.
我不知道是怎么回事.子查询本身运行正常,所有值都采用正确的日期格式.
有谁知道发生了什么事?
我正在尝试将Ant脚本添加到我公司的项目中以运行jUnit测试.这是我有的:
<target name="unit-tests">
<junit>
<classpath>
<pathelement location="${project.libext.dir}/junit-4.1.jar"/>
</classpath>
<batchtest>
<fileset dir="${project.src-test.dir}/my/company/." />
</batchtest>
</junit>
</target>
Run Code Online (Sandbox Code Playgroud)
该脚本正确地抓取我的jUnit测试,但它说有错误.但所有输出都会说:
[junit] Test package.MyTest FAILED
Run Code Online (Sandbox Code Playgroud)
我想知道它失败的原因.我曾尝试加入一些属性到的junit标记(printsummary,showoutput,等),但似乎无法找到合适的组合.我设法得到的最好的是:
[junit] Running package.MyTest
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
Run Code Online (Sandbox Code Playgroud)
我真的需要完整的堆栈跟踪等,因为当我通过Eclipse运行为> Junit测试时,测试运行正常.
任何人都知道如何打印堆栈跟踪?
我在域A(我们控制)中有一个Java Web应用程序.此应用程序显示位于域B(我们无法控制)的另一个网站iframe.最近更新了此外部网站,要求用户在可以查看内容之前登录.他们为我们提供了一个URL,可以自动将用户登录到他们的网站.当我们在Internet Explorer中直接导航到它时,此URL可用(我们会自动登录等).
但是,显然Internet Explorer有更新, 因此不允许跨域通信.所以现在当登录URL显示在iframe,它没有成功登录(我猜它被阻止创建安全cookie).
此外,如果我们直接浏览到URL并获得安全性,那么iframe该站点的任何元素都将无效(我猜它被阻止访问安全性cookie).
有谁知道这方面的工作?在Internet Explorer上更改安全级别不是一种选择(它由我们公司的系统管理员控制).Internet Explorer也是我们公司的标准,因此我们无法改变它(即使它在Firefox中运行良好).
好吧,我知道有很多类似的问题,但似乎没有任何效果.
我为我的实体设置了以下结构.
public abstract class MyAbstractClass {
// bunch of properties, getters, and setters that subclasses share
public abstract String getType();
}
public class MySubclass1 extends MyAbstractClass {
// a few unique properties, getters, and setters
public String getType() {
return "Type_1"; //always the same for each instance of MySubclass1
}
}
public class MySubclass2 extends MyAbstractClass {
// a few unique properties, getters, and setters
public String getType() {
return "Type_2"; //always the same for each instance of MySubclass2 …Run Code Online (Sandbox Code Playgroud) 我有JavaScript,基本上如下所示
function a() {
b(1);
}
function b(myNumber) {
c(myNumber);
}
function c(myNumber) {
var calculation = 5 * (myNumber - 1);
alert(calculation);
}
Run Code Online (Sandbox Code Playgroud)
当我调用该函数时a(),警告框最终会显示"NaN".为什么会这样?我尝试过parseInt()在很多地方使用这个功能,但似乎没什么用.
完整代码(实际上是做什么而不是剥离的例子):
function updateTablePagination(tableId, rowsPerPageSelectId) {
updateTablePagination(tableId, rowsPerPageSelectId, 1);
}
function updateTablePagination(tableId, rowsPerPageSelectId, pageNumber) {
var table = document.getElementById(tableId);
var rowsPerPageSelect = document.getElementById(rowsPerPageSelectId);
var rowsPerPage = rowsPerPageSelect.options[rowsPerPageSelect.selectedIndex].text;
updateTable(table, rowsPerPage, pageNumber);
//updateTablePageLinks();
}
function updateTable(table, rowsPerPage, pageNumber) {
var tableRows = table.getElementsByTagName("tr");
var totalNumberOfRows = tableRows.length;
var startRow = rowsPerPage * (pageNumber …Run Code Online (Sandbox Code Playgroud) 我被分配到在具有两个表的应用程序的工作,让我们给他们打电话MY_TABLE_ONE和MY_TABLE_TWO.当用户在表单中输入数据时,将输入数据MY_TABLE_ONE.完成此操作后,将触发数据库包,基本上执行以下操作:
DELETE FROM MY_TABLE_TWO;
INSERT INTO MY_TABLE_TWO
mto.COLUMN_ONE,
moto.COLUMN_TWO,
mott.COLUMN_THREE
FROM MY_TABLE_ONE mto, MY_OTHER_TABLE_ONE moto, MY_OTHER_TABLE_TWO mott
WHERE mto.OTHER_TABLE_ONE_UUID = moto.UUID
AND mto.OTHER_TABLE_TWO_UUID = mott.UUID;
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这个包开始在插入时失败,并带有以下消息:
ORA-00001: unique constraint
(MY_SCHEMA.MY_TABLE_TWO_UK01) violated
ORA-06512: at "MY_SCHEMA.MY_PACKAGE", line 2
ORA-06512: at line 1
Run Code Online (Sandbox Code Playgroud)
查看约束MY_TABLE_TWO,没有MY_TABLE_TWO_UK01约束.但是有一个MY_TABLE_TWO_UK约束要求3个插入的列是唯一的.但是,如果我运行以下查询:
SELECT mto.COLUMN_ONE, moto.COLUMN_TWO, mott.COLUMN_THREE, COUNT(*) AS COUNTER
FROM MY_TABLE_ONE mto, MY_OTHER_TABLE_ONE moto, MY_OTHER_TABLE_TWO mott
WHERE mto.OTHER_TABLE_ONE_UUID = moto.UUID
AND mto.OTHER_TABLE_TWO_UUID = mott.UUID
GROUP BY mto.COLUMN_ONE, moto.COLUMN_TWO, mott.COLUMN_THREE …Run Code Online (Sandbox Code Playgroud) 我有一个表有多个存储文本值的列.例如:
ID FATHER_NAME MOTHER_NAME
--------------------------------
1 Henry Sarah
2 Martin Rebecca
3 Martin Nancy
Run Code Online (Sandbox Code Playgroud)
我想获得表中的所有名称.我知道我可以做一个工会来做到这一点:
(SELECT FATHER_NAME FROM MY_TABLE)
UNION
(SELECT MOTHER_NAME FROM MY_TABLE)
Run Code Online (Sandbox Code Playgroud)
但是,在我的真实表中,我需要联合15列,查询显然需要一段时间(大约12秒).我仍然需要加入这些名称等等.除了做工会还有其他选择吗?
仅供参考:我正在使用Oracle.
我有一个Java EE应用程序,在应用程序中我有以下结构.
WEB-INF
layout
header.jsp
styles
main.css
Run Code Online (Sandbox Code Playgroud)
我想包括在main.css在header.jsp.我试图用以下内容(其中......是路径):
<link rel="stylesheet" href="...">
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法找到正确的道路.我已经尝试过以下各项而没有运气:
../styles/main.css
/styles/main.css
styles/main.css
/WEB-INF/styles/main.css
WEB-INF/styles/main.css
Run Code Online (Sandbox Code Playgroud)
什么是正确的道路?