我们怎么做这个映射但流利?
<class name="Person" table="People">
<id name="Id">
<generator class="identity"/>
</id>
<property name="Name" />
<join table="Addresses">
<key column="PersonId"/>
<property name="Line1"/>
<property name="Line2"/>
<property name="City"/>
<property name="Country"/>
<property name="ZipCode"/>
</join>
</class>
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用'参考',但我不需要相关表格中的所有列.我只需要一个房产.
我该怎么做?很多网站都说我可以在按钮上调用.modify_bg(),但这没有任何作用.我可以在按钮上添加一个EventBox,并为其添加一个标签,然后改变它的颜色,但它看起来很可怕 - 按钮边缘之间有一大堆灰色空间不会改变.我只想要看起来像这样的东西:
img http://www.kksou.com/php-gtk2/gif/0023.gif
该网站声称刚刚在按钮上完成了modify_bg().但那对我不起作用.=(.
正确的答案可能涉及创建一个样式,或者带有gtkrc文件的东西等.有人可以指向我那个方向吗?
我有一个类A有一组B的.但是,这两个对象由不是主键的字段链接.
对于B,我可以使用<key column>,但是如何指定连接应该在A.secondary_column?没有A.table_primary_key_id?
<class table="a">
<id column="table_primary_key_id">
</id>
<property column="secondary_column" />
<set table="B" lazy="false" >
<key column="B_not_primary" />
<one-to-many class="BClass" />
</set>
</class>
Run Code Online (Sandbox Code Playgroud) 这里有新手问题,所以请耐心等待.
假设我的字典看起来像这样:
a = {"2323232838": ("first/dir", "hello.txt"),
"2323221383": ("second/dir", "foo.txt"),
"3434221": ("first/dir", "hello.txt"),
"32232334": ("first/dir", "hello.txt"),
"324234324": ("third/dir", "dog.txt")}
Run Code Online (Sandbox Code Playgroud)
我希望将所有彼此相等的值移动到另一个字典中.
matched = {"2323232838": ("first/dir", "hello.txt"),
"3434221": ("first/dir", "hello.txt"),
"32232334": ("first/dir", "hello.txt")}
Run Code Online (Sandbox Code Playgroud)
其余不匹配的项目应如下所示:
remainder = {"2323221383": ("second/dir", "foo.txt"),
"324234324": ("third/dir", "dog.txt")}
Run Code Online (Sandbox Code Playgroud)
在此先感谢,如果您提供示例,请尽可能评论.
我正在使用第三方COM对象,它有一些方法将值作为BSTR指针传回.由于VBscript仅支持Variant类型尝试以类似Object.Method(sMyString)的方式使用,因此合理地以"类型不匹配"错误结束.
我怀疑这个错误是由COM对象本身而不是VBscript解释器生成的,因为对象获取字符串而不是指针.我试图解决它定义字符串数组但它仍然是相同的错误.
所以我想知道是否有人有类似的问题以及使用了哪些变通方法.
只是为了强调.我无法控制COM对象.这是供应商的应用程序.我必须"按原样"使用它.
谢谢你,Albert Gareev
如何向VerticalPanel添加一个侦听器/处理程序,以便在VerticalPanel大小改变时触发它?
我基本上尝试过以下方法:
VerticalPanel myPanel = new VerticalPanel();
//... code to add child widgets that may change the size of the parent vertical panel ...
myPanel.addHandler(new ResizeHandler() {
public void onResize(final ResizeEvent event) {
//... code to handle resize of vertical panel ...
}
}, ResizeEvent.getType() );
Run Code Online (Sandbox Code Playgroud)
但处理程序不会被触发.
简单的问题:我想使用默认浏览器打开一个URL,所以我就这样做了Process.Start(url).但是,我注意到这会返回一个IDisposable对象.
所以现在我想知道我是否必须处理它?或者,就此而言,如果我的应用程序以任何方式负责此过程?预期的功能只是"消防而忘记",我不希望我的应用程序作为新进程的父进程而且不需要与它进行交互.
我在SO上看到了一些类似但不相关的问题似乎只是说在URL上调用Process.Start很好,但我不想遇到一些难以调试的内存泄漏/资源耗尽问题导致我的程序保持不变引用长时间的浏览器进程.
我对这个失去了理智.我的curl命令有效:
curl http:// testuser:testpwd @ qabox3:8501/xmlcontroller
但是,当我尝试在Java中看起来像是等效的http连接时,它会"拒绝连接".我错过了什么?我已经尝试了十几种尝试今天建立这种联系的方式并且没有想法.
URL url = new URL( "http://qabox3:8051/xmlcontroller" );
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod( "GET" );
String encoding = new sun.misc.BASE64Encoder().encode( "testuser:testpwd".getBytes() );
conn.setRequestProperty("Authorization", "Basic " + encoding );
InputStream content = conn.getInputStream(); // <--- fails here every time.
BufferedReader in = new BufferedReader( new InputStreamReader( content ) );
String line;
while ((line = in.readLine()) != null) {
System.out.println( line );
}
Run Code Online (Sandbox Code Playgroud)
此外,我可以使用Java的Runtime.exec()执行curl命令,但仍然有效......所以我在HttpURLConnection中显然做错了.
这是我看到的堆栈(现在使用HttpClient,但与Java库基本相同).
Exception in thread "main" java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method) …Run Code Online (Sandbox Code Playgroud) 在C++中,有没有理由不通过类实例访问静态成员变量?我知道Java对此皱眉,并想知道它是否在C++中很重要.例:
class Foo {
static const int ZERO = 0;
static const int ONE = 1;
...
};
void bar(const Foo& inst) {
// is this ok?
int val1 = inst.ZERO;
// or should I prefer:
int val2 = Foo::ZERO
...
};
Run Code Online (Sandbox Code Playgroud)
我有第二个问题.如果我声明一个静态double,我必须在某处定义它,并且该定义必须重复该类型.为什么必须重复这种类型?例如:
In a header:
class Foo {
static const double d;
};
In a source file:
const double Foo::d = 42;
Run Code Online (Sandbox Code Playgroud)
为什么我必须在cpp文件中重复"const double"部分?
我有一个单行方法将空字符串解析为string.Empty,我认为这可能是一个有用的扩展方法 - 但我找不到一个有用的方法来实现它.
我可以看到它有用的唯一方法是作为字符串类的静态方法,因为很明显它不能归因于实例,因为实例为null,这会导致编译器错误.[编辑:编译错误是由于未初始化的变量,我误解了]
我想将它添加到帮助程序类中,但这只会从可发现性角度增加不必要的复杂性.
所以这个问题分为两部分我想:
提前干杯
编辑:
好吧,我想我应该更清楚一点 - 我已经很清楚空煤化了,而且我正在一个地方使用它,我已经检查了十几个字符串来计算哈希码.
正如你可以想象的那样,紧跟在一起的12行代码都包含了null的运算语法,这是一个眼睛,所以我将null的运算操作移到了一个方法上,让眼睛更方便.然而,这是完美的,它将是字符串对象的完美扩展:
int hashcode =
FirstValue.ResolveNull().GetHashCode() ^
SecondValue.ResolveNull().GetHashCode() ^
...
Run Code Online (Sandbox Code Playgroud)
超过十几行比阅读更容易:
int hashcode =
(FirstValue ?? String.Empty).GetHashCode() ^
(SecondValue ?? String.Empty).GetHashCode() ^
...
Run Code Online (Sandbox Code Playgroud)
当我没有显式地将我的字符串值声明为null但依赖于隐式时,我遇到了编译器问题:
string s;
Run Code Online (Sandbox Code Playgroud)
但是,如果您明确定义:
string s = null;
Run Code Online (Sandbox Code Playgroud)
你可以很轻松地打电话:
s.ResolveNull();
Run Code Online (Sandbox Code Playgroud)
谢谢大家的意见.