Этот работает хорошо даже в планшетах Windows Surface !!!
function detectTouchSupport {
msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
touchSupport = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch);
if(touchSupport) {
$("html").addClass("ci_touch");
}
else {
$("html").addClass("ci_no_touch");
}
}
Попробуйте что-нибудь подобное в родительском элементе:
<set name="childs" inverse="true" lazy="true" table="child" fetch="select">
<key column="child_parent_code" property-ref="code" />
<one-to-many class="foo.bar.Child" />
</set>
и в дочернем:
<many-to-one name="parent" class="foo.bar.Parent"
fetch="select" column="child_parent_code" property-ref="code" />
Я предположил, что свойство code в родительском элементе называется "code".
Я бы подумал об использовании аннотаций гибернации. Я обнаружил, что с ними НАМНОГО проще работать, чем с определениями xml.
Вот код в формате аннотации:
@Entity
@Table(name="parent")
public class Parent
{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@ManyToOne
@JoinColumn(name="child", referencedColumnName = "id")
private Child child;
}
@Entity
@Table(name = "child")
public class Child
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public int id;
@Column(name = "code")
public String code;
}