@Entity
@Table(name="dt_user" , uniqueConstraints = {@UniqueConstraint(columnNames="user_no"), @UniqueConstraint(columnNames="account")}
)
public class User implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -8149578944942492965L;
// Fields
private long id;
private String userNo;
private Set<UserRelative> userRelatives = new HashSet<UserRelative>(0);
// Constructors
/** default constructor */
public User() {
}
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="user")
public Set<UserRelative> getUserRelatives() {
return this.userRelatives;
}
}
上はユーザー エンティティです。下は別の UserRelative エンティティです。getUserRelatives() を実行しようとすると、問題が発生します。
@Entity
@Table(name="dt_user_relative")
public class UserRelative implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 5035928604641787267L;
// Fields
private long id;
private User user;
.....
@Id @GeneratedValue(strategy=IDENTITY)
@Column(name="id", unique=true, nullable=false)
public long getId() {
return this.id;
}
public void setId(long id) {
this.id = id;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="user_id")
public User getUser() {
return this.user;
}
public void setUser(User user) {
this.user = user;
}
.....
}
私の問題は、このコードを実行するとエラーが発生することです:userNo経由でgetRelativeTickets()を取得するにはどうすればよいですか?
userDAO.getUserByNo("10001148").getRelativeTickets().size();
public User getUserByNo(String userNo) {
// TODO Auto-generated method stub
String query = "from User t where t.userNo=?1";
List<User> ls = this.findByQuery(query, userNo);
if (ls.size() > 0)
return ls.get(0);
return null;
}