вопрос по запросу базы данных с использованием Hibernate в Java с аннотациями - PullRequest
1 голос
/ 31 мая 2010

простой вопрос относительно HQL (языка запросов Hibernate)

так что у меня есть пользовательский класс, который может содержать список проектов, как мне вынести это из базы данных в зависимости от имени пользователя,

вот так я вывожу своего пользователя

 String username = "stephen";
 YFUser user = (YFUser) session.createQuery(
      "select u FROM YFUser u where u.username = :username")
      .setParameter("username", name).uniqueResult();

но я хочу вынести список проектов

вот список проектов в классе YFUser (мой класс пользователя);

как мне запросить базу данных, чтобы получить этот список проектов

@Entity
@Table(name = "yf_user_table")
public class YFUser implements Serializable,ILightEntity {

.........
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY)
@JoinTable(name = "YFUSER_JOIN_PROJECT", joinColumns = { 
        @JoinColumn(name = "user_id") }, inverseJoinColumns = { 
        @JoinColumn(name = "project_id") })
private List<Project> projects = new ArrayList<Project>();

Ответы [ 2 ]

1 голос
/ 31 мая 2010
List<Project> projects = (List<Project>) session.createQuery( 
      "select u.projects FROM YFUser u where u.username = :username") 
      .setParameter("username", name).list(); 
0 голосов
/ 05 июня 2010

Только что внесены следующие изменения в ваш код.

Список <> пользователь = (YFUser) session.createQuery ( msgstr "выберите вас ИЗ YFUser u, где u.username =: имя пользователя") .setParameter ("имя пользователя", имя). list () ;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...