将企业应用程序部署到服务器(例如Glassfish或JBoss)时,完全发布和增量发布之间有什么区别?
我看到部署的artefacts树中列出了几个模块,但是当我在Web存档上使用增量发布时会发生一些事情,但是没有部署.通过完整发布,可以部署整个EAR,libs,EJB归档和WAR.
Spring的@ComponentScan提供了一个类型安全的basePackageClasses属性 - 这似乎是一件好事,特别是因为在我正在处理的项目中重命名包这种情况并不少见.文件说:
考虑在每个包中创建一个特殊的无操作标记类或接口,除了被该属性引用之外没有其它用途.
......但没有提供关于这类课程名称的进一步指导.我想知道是否有任何约定.package-info.java已经存在于所有包中(由Checkstyle强制执行) - 本来希望重用它,但遗憾的是Java不允许使用这个名称的类.
(如果不存在上述标准在想或许PackageInfo,BasePackage,PackageMarker或类似,但宁愿遵循惯例,如果有一个.)
鉴于任何两个类,例如ClassA及ClassB以下:
class ClassA {
private int intA;
private String strA;
private boolean boolA;
// Constructor
public ClassA (int intA, String strA, boolean boolA) {
this.intA = intA; this.strA = strA; this.boolA = boolA;
} // Getters and setters etc. below...
}
class ClassB {
private int intB;
private String strB;
private boolean boolB;
// Constructor
public ClassB (int intB, String strB, boolean boolB) {
this.intB = intB; this.strB = strB; this.boolB = boolB;
} // Getters …Run Code Online (Sandbox Code Playgroud) 我想插入或替换_on_condition.如果不满足条件,请勿插入或更换.这可能吗?
对于我的项目,我目前有两个数据收集过程.一个是快速但不能抓住一切.另一个是缓慢但捕获一切.通过快速流程,我几乎可以实时获取数据.由于速度慢,我在一天结束时使用批处理获取数据.
我的问题是:有时快速流程将"完成"一条记录(意味着它不再需要更新)在缓慢的流程之前,以及在夜间批处理过程中的当天晚些时候,"完整"记录将被替换为在慢速流程的批量数据中找到过时的"待定"记录.
我想要的是一个类似于这个伪代码的条件检查:
If(record_is_not_complete or does_not_exist)
{ INSERT or REPLACE; }
Else
{ do_nothing and move_to_the_next; }
Run Code Online (Sandbox Code Playgroud)
如果我从标准INSERT OR REPLACE示例开始:
INSERT OR REPLACE INTO UserProgress (id, status, level)
VALUES (1, 'COMPLETE', 5);
Run Code Online (Sandbox Code Playgroud)
哪个应该在UserProgress表中输入一行,条目为[1,COMPLETE,5].
如果发生以下情况:
INSERT OR REPLACE INTO UserProgress (id, status, level)
VALUES (1, 'PENDING', 4);
Run Code Online (Sandbox Code Playgroud)
我希望它跳过这个,因为已经有一个完整的记录.
我确定这是一个重复的问题.但它真的吗?这个问题有很多答案,我不确定哪种方法最好.看看我发现的所有这些例子:
我可以尝试添加一个CASE声明,我被告知它等同于一个IF-THEN-ELSE声明.正如本例中所做的那样.
我可以尝试使用SELECT或COALESCE声明VALUES.正如本例中所做的那样.
我甚至可以尝试使用一个SELECT WHERE声明.正如本例中所做的那样.
我可以尝试使用一个LEFT JOIN声明.正如本例中所做的那样.
这对SQLite来说很棒.似乎有多种方法可以为同一只猫皮肤涂抹.我是一个新手我现在很困惑.目前尚不清楚我应该使用哪种方法.
我正在寻找一个可以在一个sql语句中完成的解决方案.
*更新*
我找到了两个交易解决方案.我还在寻找单一的交易解决方案.
这有效,但使用两个事务: …
我知道格列高利历从1582年10月15日开始,在从儒略历过渡期间,已经放弃了10天.
当我在做这个查询时:
SELECT STR_TO_DATE('1582-10-05', '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
我得到了这个结果:
1582-10-15 (the 10 days difference).
Run Code Online (Sandbox Code Playgroud)
但是当我试图在这些日期之间进行匹配时,我得到了原始日期(10月5日而不是15日).
例如:
SELECT STR_TO_DATE('1582-10-05', '%Y-%m-%d') = STR_TO_DATE('1582-10-15', '%Y-%m-%d')
Run Code Online (Sandbox Code Playgroud)
我得到了一个错误的回应,虽然你会期望得到一个真实的,因为10月5日实际上算作10月15日,正如我们在第一个例子中看到的那样.
任何人都可以解释这里发生了什么?
我在Play for Scala中有以下代码来访问带有Hibernate的SAP Hana表.我需要用MySql实现相同的代码,但问题是MySql不支持序列(它适用于AUTO_INCREMENT列)和代码中断,因为我必须@SequenceGenerator为Hana 指定.有没有办法编译这个代码,条件是排除@SequenceGenerator注释,所以它同时适用于MySql和Hana?
@Entity
@Table(name = "clients")
class ClientJpa {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "generator")
@SequenceGenerator(name="generator", sequenceName = "cliSeq", allocationSize = 1)
var surrogateKey: Int = _
var code: String = _
var name: String = _
}
Run Code Online (Sandbox Code Playgroud) 我可以像在Java中一样在C#/ .net中创建抽象类的实例吗?
附加信息
我想我们很多人都不懂我的意思?所以,在java中,我可以像这样创建抽象类:
简单的抽象类:
/**
* @author jitm
* @version 0.1
*/
public abstract class TestAbstract
{
public abstract void toDoSmth();
}
Run Code Online (Sandbox Code Playgroud)
代码我在哪里创建抽象类的实例
/**
* @author jitm
* @version 0.1
*/
public class Main {
public static void main(String[] args) {
TestAbstract testAbstract = new TestAbstract() {
@Override
public void toDoSmth() {
System.out.println("Call method toDoSmth");
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
我可以用c#做这样的事吗?
是否有一个版本的BeanUtils.describe(客户)以'customer'的复杂属性递归调用describe()方法.
class Customer {
String id;
Address address;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我想使用describe方法来检索address属性的内容.
目前,我所有人都可以看到该类的名称如下:
{id=123, address=com.test.entities.Address@2a340e}
Run Code Online (Sandbox Code Playgroud) 我有一个users包含用户帐户的表(user_id,username,...).user_id与多个其他表相关 - 例如,包含其最后操作的表,配置文件详细信息,他的产品,他的兴趣等.
有时用户想要删除,然后我将字段'已删除'设置为1.应删除大多数表中的记录,但2个表(reports和messages)中的记录应保留对用户的引用.原因:例如,消息合作伙伴仍希望查看他最近与之交谈的帐户的用户名.做这个的最好方式是什么?
1)在PHP中存储记录的ID,reports并且messages应该保存在数组中.然后删除用户.自动所有与users删除其记录相关的表,并引用已删除的帐户.引用reports和messages应该是:ON UPDATE SET NULL所以他们的记录在用户删除后仍然存在.数据库现在是干净的,然后将具有相同user_id的用户重新插入,并将字段'deleted'重新插入1.然后将数组中的数据更新为user_id,以便再次设置引用.
2)删除对用户的引用reports和messages(因此没有外键).
3) ......(有更好的选择吗?)
谢谢!
我有一个部署后脚本,可以将初始数据插入/合并到表中。我想格式化插入脚本,以便插入的每一行都具有相同的长度。我希望能够按住 alt 键并为每条记录选择相同的列。
insert 语句中的值的格式为:
(123, 'File_X', 'ShortString'),
(124, 'File_XYZ', 'LoooonnnngString'),
Run Code Online (Sandbox Code Playgroud)
我想要实现的是这种格式:
(123, 'File_X' , 'ShortString' ),
(124, 'File_XYZ', 'LoooonnnngString'),
Run Code Online (Sandbox Code Playgroud)
我找不到任何可以配置来实现这一点的格式化程序。
java ×3
mysql ×3
sql ×3
.net ×2
c# ×2
calendar ×1
collections ×1
convention ×1
database ×1
deployment ×1
eclipse ×1
equality ×1
foreign-keys ×1
formatting ×1
guava ×1
hana ×1
hibernate ×1
instance ×1
php ×1
publish ×1
reflection ×1
scala ×1
spring ×1
sql-update ×1
sqlite ×1