假设我有以下情况:
@Entity
public class Person {
@Id
private Long id; //Surrogate key
@Embedded
private Name name; //Natural key
public int hashCode() {
... //based on natural key Name
}
public boolean equals(Object obj) {
... //based on natural key Name
}
}
@Embeddable
public class Name {
private String firstName;
private String middleName;
private String lastName;
//Should I implement equals/hashCode baseed on the three fields?
}
Run Code Online (Sandbox Code Playgroud)
Name类是否应该在Name类上实现equals和hashCode以使Person等于正常工作?
对于将用作EmbeddedId的Embeddable对象是必须的.但在这个例子中我使用的是代理键.
我将Eclipse从Galileo升级到Helios,当我尝试"清理项目"时,我收到一条错误消息"无法运行程序;未知原因".我能够在Galileo中运行make,所以我不确定为什么会发生这种情况,以及是否有其他人遇到过这种情况.
我知道你可以输出SQL来查看创建的表.Django是否可以输出用于任何查询的sql,如:
Protocols.objects.filter(active=False)
Run Code Online (Sandbox Code Playgroud)
?我在文档中找不到这个,所以希望有人能指出它们,如果事实上Django可以做到这一点.
所以,如果按下Tab键,我在运行脚本时遇到一些麻烦.经过一些快速的谷歌搜索后,Tab的charcode是9.另外,在我们谈话的时候,有没有更好的方法来检查是否按下键而不使用charcodes?我问,因为我在使用charcode时不断地通过firebug获得以下警告:
不应使用keyup事件的'charCode'属性.价值毫无意义.
无论如何,它仍然有效,所以这不是问题.这是我使用的代码:
$('/* my inputs */').keyup(function(e) {
console.log('keyup called');
var code = e.keyCode || e.which;
if (code == '9') {
console.log('Tab pressed');
}
});
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,控制台留空,没有添加任何内容(使用Firebug).当然我已经尝试过实际做东西而不是记录文本,但没有任何执行.所以任何人都可以看到为什么这不起作用?有没有更好的方法来检查按键是否被按下?
提前致谢.
我创建了MySQL DB Schema,并且我使用Hibernate Reverse Engineering文件来创建带注释的域对象(.java).虽然文件生成正确,但它在某种程度上缺少ID字段的"Generator"注释.
下面是我的hibernate.reveng.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE
hibernate-reverse-engineering PUBLIC
"-//Hibernate/Hibernate Reverse
Engineering DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd"
<hibernate-reverse-engineering>
<table-filter match-name="products" match-catalog="test"></table-filter>
<table catalog="test" name="products">
<primary-key>
<generator class="native"></generator>
<key-column name="product_id"property="product_id" />
</primary-key>
</table>
</hibernate-reverse-engineering>
Run Code Online (Sandbox Code Playgroud)
和生成的类文件(Products.java):
// default package
// Generated Jan 21, 2011 8:27:16 PM by Hibernate Tools 3.3.0.GA
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* Products generated by hbm2java
*/
@Entity
@Table(name = "products", catalog = "test")
public class Products implements java.io.Serializable {
private String productId; …
Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery Form Wizard 3.0.4插件进行多步注册过程.它使用内置的jQuery验证器插件,从一步到另一步工作正常.编辑:这意味着我已经在使用validationEnabled:true,formOptions和validationOptions,这些都有效.我需要在常规功能之外运行相同的验证.
问题是我需要运行验证器并在两点手动显示错误.对于我所拥有的特殊领域,以及在提交AJAX之前.我尝试过以下内容,它什么都不做:
$("#registrationForm").validate();
Run Code Online (Sandbox Code Playgroud)
表单向导脚本(jquery.form.wizard-3.0.4.js)在进行下一步时似乎正在执行此操作:
this.element.validate().focusInvalid();
Run Code Online (Sandbox Code Playgroud)
所以我尝试了这个,它也没有做任何事:
$("#registrationForm").element.validate().focusInvalid();
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我想在两个独立的hg存储库中拥有一些eclipse项目.
我设法通过首先使用TortouiseHg创建两个hg存储库并添加,首先将我的项目提交到每个存储库来实现此目的.通过这样做,我现在有两个hg存储库,每个存储库有两个项目.
接下来,我使用MercurialEclipse在Eclipse中克隆这些存储库.项目在Eclipse中显示为预期.
例1:
Eclipse workspace
|
|--Project 1
|--Project 2
|--Project 3
|--Project 4
Run Code Online (Sandbox Code Playgroud)
但是,如果我查看目录结构,它看起来像这样:
例2:
c:--
|
|-workspace
|
hgRepository1
| |--.hg
| |--Project 1
| |--Project 2
|
|
hgRepository2
|--.hg
|--Project 3
|--Project 4
Run Code Online (Sandbox Code Playgroud)
当我希望它看起来像这样.
例3:
c:--
|
|-workspace
|--.hg
|--Project 1
|--Project 2
|--Project 3
|--Project 4
Run Code Online (Sandbox Code Playgroud)
是否可以拥有一个Mercurial存储库并以某种方式克隆它并让项目直接显示在工作区目录下,而不是在子目录中?
我有一个ASP.NET MVC 3页面.在它上面,我有一个表,我使用来自ajax调用的JSON数据转换为jqGrid.网格具有以下设置:
myGrid = $('#myGrid');
myGrid.jqGrid({
caption: 'My Grid',
datatype: 'local',
data: data.rows,
height: 250,
pager: '#myPager',
viewrecords: true,
colModel: [
...,
{
label: 'blah',
name: 'blah',
align: 'left',
sortable: true,
editable: false,
width: 85,
formatter: 'date',
sorttype: 'date',
datefmt: 'm/d/Y',
formatoptions: { srcformat: 'm/d/Y', newformat: 'm/d/Y' }
},
...
]
});
// turn on filter toolbar
myGrid.filterToolbar();
Run Code Online (Sandbox Code Playgroud)
data.rows从ajax调用返回.除了一个以外,这种方式都有效.我可以对客户端进行分页,对客户端进行排序,并按照我显示colModel的字段进行搜索.这个'blah'字段是一个日期字段,它以mm/dd/yyyy格式正确显示日期.但是,当我在工具栏中键入类似11/17/2010的内容并按Enter键时,搜索将返回0条记录.
所以我深入研究了jqGrid代码,这是它在搜索之前生成的内容:
{"groupOp":"AND","rules":[{"field":"blah","op":"bw","data":"11/17/2010"}]}
Run Code Online (Sandbox Code Playgroud)
最终,当它遍历每一行并且它评估字段上的操作时,eval(m)&& p.push(this)行,m是这样的:
(String(this.blah).substr(0,10) == String("11/17/2010"))
Run Code Online (Sandbox Code Playgroud)
基本上,在我看来它并不认为该字段是一个日期.它调用parse而不是parseDate.任何人有任何想法如何解决这个问题?我知道搜索服务器端很容易,我可以传递该字符串,解析它,然后bam.但如果可以,我想留在客户方面.我能够在Oleg和Tom提出的一些样本中复制这个,所以这是一个问题,或者我在配置中遗漏了一些东西......
如果我更喜欢只从第二个表中获取记录,如何加入表格?如果不存在秒,请记录第一个表.
Table A Table B Result
pid,name,type pid,name,type pid,name,type
1,Anna,null 1,Anna,100 "1,Anna,100"
2,Bea,null - "2,Bea,Null"
3,Caro,null 3,Caro,100 "3,Caro,100"
3,Caro,200 "3,Caro,200"
Run Code Online (Sandbox Code Playgroud)
编辑:我试图改进我的示例表.
我有一个带有Datatemplate的ListView,它包含一个电影列表.它被数据绑定到ObservableColection,但每当我编辑Movie.Name时,即使在我的PropertyChangedEventHandler中调用"Name"并使用"Name"调用它,它也不会更新ListView.
我在我的初始化程序中为我的收藏添加了2个"电影",这些都显示正确(Klovn the Movie,Taken)
因此,当我单击编辑时,它应该更改所选电影的文本并将其名称更改为"测试"并且已更改,但更改未显示在ListView中,但如果我使用foreach输出Collection,则Name is Test.
View.xaml
<Window x:Class="MovieDB3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="File">
<MenuItem Header="Edit" Click="MenuEditClick"/>
</MenuItem>
</Menu>
<Grid DockPanel.Dock="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<ListView VerticalAlignment="Stretch" Name="ListViewMovies" ItemsSource="{Binding Path=Collection}" IsSynchronizedWithCurrentItem="True" >
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="{Binding Path=Name}"/>
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
View.cs
using System;
using System.Windows;
using MovieDB3.Models;
using MovieDB3.ViewModels;
namespace MovieDB3
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class …
Run Code Online (Sandbox Code Playgroud) jquery ×3
eclipse ×2
java ×2
.net ×1
annotations ×1
asp.net-mvc ×1
c# ×1
c++ ×1
data-binding ×1
django ×1
django-orm ×1
formwizard ×1
hibernate ×1
join ×1
jpa ×1
jqgrid ×1
json ×1
mercurial ×1
persistence ×1
sql-server ×1
tabs ×1
validation ×1
wpf ×1
xaml ×1