使用hibernate的一个挑战是manged类必须有一个默认的构造函数.问题是没有明确的点来初始化类并且可以检查不变量.
如果一个类具有依赖于多个属性的不变量,则类设计变得复杂.让我们从假设的绿地设计开始:
public class A {
private int x;
private int y;
public A(int x, int y) {
this.x = x;
this.y = y;
checkInvariants(this.x, this.y);
}
private void checkInvariants(int x, int y) {
if (x + y « 0) throw new IllegalArgumentException();
}
}
Run Code Online (Sandbox Code Playgroud)
这是不符合hibernate要求的基本实现.在构造函数中检查不变量.(checkInvariants()方法的内容并不重要,它仅用于说明类不变量可以依赖于多一个属性.)
该类可以使用如下:
new A(0, 0);
new A(-1, 0); //invalid
Run Code Online (Sandbox Code Playgroud)
要满足hibernate要求,一种解决方法是添加私有默认构造函数并使用字段访问.(我省略了hibernate映射.)
public class H {
int x;
int y;
public H(int x, int y) {
this.x = x;
this.y = …Run Code Online (Sandbox Code Playgroud) 我有一个SQL表,每天都会更新.哪个更好,删除现有表并重新插入旧值和新值,或更改现有值(如果已更改),并添加新值?
我试图在没有运气的情况下调用“Get-Credential”CMDlet。阅读 Powershell SDK 我发现抽象方法“PSHostUserInterface.PromptForCredential Method (String, String, String, String)”。有没有实现这个方法的对象?
还有其他解决办法吗?
问候
SSH安装在NAS中,Router配置为将SSH端口转发到NAS.
如果有人在此之前做过这样的事情,那么请指导我如何从iphone通过SSH发送命令?是否有相同的代码?
提前致谢 ...
我在我的数据库中有整页HTML,我希望将HTML代码写入aspx页面.意味着它从新的代码中替换旧的HTML代码.
有没有其他方法可以将HTML代码写入aspx页面.
我在SQL Server Management Studio中使用SQL Server 2005数据库.
有没有办法隐藏图中两个表之间的关系而不实际删除数据库中的关系?任何帮助将非常感谢.
我为接口做了以下声明:
public interface IBasic
{
int Data { get; }
}
public interface IChangeable : IBasic
{
int Data { set; }
}
Run Code Online (Sandbox Code Playgroud)
编译器说IChangeable.Data隐藏了IBasic.Data.这很合理.我发现的替代方案是:
public interface IBasic
{
int Data { get; }
}
public interface IChangeable : IBasic
{
void ChangeData(int value);
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以在接口的不同层次结构上为同一属性定义setter和getter?或者这种方法还有其他选择吗?
在C中,我通常使用getch()函数来等待按下一个键然后结束程序,但是最近我读到了,因为它不是标准函数,所以使用它是不好的编程习惯.
因此,而不是以下:
int main() {
dosomething();
getch(); //wait for the user to see the results and press a key to end
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能更换getch?
我可以按如下方式分配一个元组:
var (min, max) = (1, 2)
Run Code Online (Sandbox Code Playgroud)
但我不能再重新分配如下
(min, max) = (1, 3) //compiler error: ';' expected but '=' found
Run Code Online (Sandbox Code Playgroud)
相反,我似乎必须这样做:
min = 1
max = 3
Run Code Online (Sandbox Code Playgroud)
为什么后者不起作用而前者不起作用?
我有一个要求,我需要将HTML文档保存在内存中作为Word .DOC文件.
任何人都可以给我一些关于封闭和开源库的链接,我可以用来做这个吗?
此外,我应编辑此问题以添加我正在使用的语言,以缩小选择范围.
谢谢!