67,512
社区成员
发帖
与我相关
我的任务
分享
@Entity
@Table(name = "ADDRESS")
public class Address implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ADDRESS_ID")
private int addressId;
@Column(name = "ADDRESS_STREET")
private String street;
@Column(name = "ADDRESS_CITY")
private String city;
@Column(name = "ADDRESS_STATE")
private String state;
@Column(name = "ADDRESS_ZIPCODE")
private String zipcode;
@OneToOne(mappedBy = "address",cascade=CascadeType.ALL)
private Student student;
@Entity
@Table(name = "STUDENT")
public class Student implements java.io.Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="student_id")
private int studentId;
@Column(name = "STUDENT_NAME")
private String studentName;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="student_address",referencedColumnName="ADDRESS_ID")
private Address address;
第一条sql语句 :select student...,address... from Student left outer join Address on student.student_address=address.address_id
第二条sql语句 :select student...,address... from Student left outer join Address on student.student_address=address.address_id where student.student_address=???
@Entity
@Table(name = "ADDRESS")
public class Address implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ADDRESS_ID")
private int addressId;
@Column(name = "ADDRESS_STREET")
private String street;
@Column(name = "ADDRESS_CITY")
private String city;
@Column(name = "ADDRESS_STATE")
private String state;
@Column(name = "ADDRESS_ZIPCODE")
private String zipcode;
@OneToOne(mappedBy="address",fetch=FetchType.LAZY)
private Student student;
@Entity
@Table(name = "STUDENT")
public class Student implements java.io.Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="student_id")
private int studentId;
@Column(name = "STUDENT_NAME")
private String studentName;
@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumn(name="student_address",referencedColumnName="ADDRESS_ID")
private Address address;
查询语句如下
Query query=session.createQuery("from Student s left outer join fetch s.address ");
List<Student> students=query.list();
System.out.println("*****");
打印出来的sql语句如下
select student...,address... from Student student left outer join Address address on student.student_address=address.addressId,
select student... from Student student where student.student_address=???